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个数字的平均数,但如果输入负数,它将终止。问题是如果输入负数,程序将不会停止,直到负数大于已输入的所有其他数字。
答案 0 :(得分:2)
此代码不会必须停止否定号码。如果该负数使运行总计达到非正数,则仅执行此 。例如,如果用户输入以下数字:
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)