使用 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)
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)