如何在Python中获取范围函数内所有数字的总和?

2 投票
2 回答
4978 浏览
提问于 2025-04-16 11:36

我搞不清楚怎么把下面代码里的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)

撰写回答