我无法弄清楚如何取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)
答案 0 :(得分: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)
答案 1 :(得分: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!"