input - 我怎样才能打破循环?真时:
问题描述
我什么时候告诉python停止循环?如果我有一个无限循环
例子:-
sum = 0
counter = 0
while True:
num = eval(input("type number"))
if num == "stop":
break
sum=sum+counter
counter=counter+1
avr=sum\counter
print(avr)
这就是问题所在,if num=="stop":
不会与我一起工作。它给了我某种错误。我输入数字 5,然后输入 stop 以便计算平均值。它立即给我错误。
解决方案
几个问题:
avr=sum\counter
您将斜杠与反斜杠混淆了 - 它应该是:avr=sum/counter
您
eval
在检查它是否是数字之前尝试输入,或者"stop"
当用户尝试“停止”时,评估将崩溃。您应该交换操作顺序以首先检查用户是否输入了“停止”,只有当他们没有输入时,您才能“评估”它。顺便说一句,不建议使用eval
,在您的情况下您可以使用int(input_string)
。有一个错误:
sum=sum+counter
应该是:sum=sum+num
最后:
sum
是python中的内置函数,你不应该命名一个变量sum
,因为它会覆盖它。你可以叫它total
或别的什么。
结合以上所有内容,以下代码可在我的本地主机上运行:
total = 0
counter = 0
while True:
num = input("type number:\n")
if num == "stop":
break
num = int(num)
total = total + num
counter = counter + 1
avr = total / counter
print(avr)