如何在Python中获取范围函数内所有数字的总和?
我搞不清楚怎么把下面代码里的x加到自己身上,得到总和后再除以评分的数量。课堂上给的例子是4个评分,数字分别是3、4、1和2。平均评分应该是2.5,但我就是算不对!
number_of_ratings = eval(input("Enter the number of difficulty ratings as a positive integer: ")) # Get number of difficulty ratings
for i in range(number_of_ratings): # For each diffuculty rating
x = eval(input("Enter the difficulty rating as a positive integer: ")) # Get next difficulty rating
average = x/number_of_ratings
print("The average diffuculty rating is: ", average)
2 个回答
1
try:
inp = raw_input
except NameError:
inp = input
_sum = 0.0
_num = 0
while True:
val = float(inp("Enter difficulty rating (-1 to exit): "))
if val==-1.0:
break
else:
_sum += val
_num += 1
if _num:
print "The average is {0:0.3f}".format(_sum/_num)
else:
print "No values, no average possible!"
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
3
你的代码并没有增加任何东西,它只是每次循环时覆盖了 x
的值。要往一个变量里加东西,可以用 +=
这个符号。另外,不要使用 eval
。
number_of_ratings = int(input("Enter the number of difficulty ratings as a positive integer: "))
x = 0
for i in range(number_of_ratings):
x += int(input("Enter the difficulty rating as a positive integer: "))
average = x/number_of_ratings
print("The average diffuculty rating is: ", average)