使用 while 循环的平均程序。不会正确计算

Average program using while loop. Won't calculate correctly

i = 0
result = 0
while i < 10 :
    result += eval(input("Enter a number: "))
    i += 1
    if result < 1 :
        break
    average = result / i   
print (average)

我正在编写一个程序来计算 10 个数字的平均值,但如果输入负数,它将终止。问题是,如果输入负数,程序将不会停止,直到负数大于已输入的所有其他数字。

此代码不一定在负数处停止。如果负数使 运行 总数 达到非正数,它会 执行此操作。例如,如果用户输入以下数字:

4
-2
4

那么 运行 总数是:

4
2
6

运行 总计 (result) 在任何时候都不是非正数。所以 break 语句的条件将不成立。

如果您想在输入负数(或者更确切地说,根据您的逻辑输入非正数)时终止,则需要检查该数字本身 ,而不是 运行 总数。像这样:

i = 0
result = 0
value = 0;
while i < 10 :
    value = eval(input("Enter a number: "))
    if value < 1 :
        break
    i += 1
    result += value
    average = result / i   
print (average)