首页 > 解决方案 > 我怎样才能打破循环?真时:

问题描述

我什么时候告诉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 以便计算平均值。它立即给我错误。

标签: inputwhile-loopsumaveragebreak

解决方案


几个问题:

  1. avr=sum\counter您将斜杠与反斜杠混淆了 - 它应该是: avr=sum/counter

  2. eval在检查它是否是数字之前尝试输入,或者"stop"当用户尝试“停止”时,评估将崩溃。您应该交换操作顺序以首先检查用户是否输入了“停止”,只有当他们没有输入时,您才能“评估”它。顺便说一句,不建议使用eval,在您的情况下您可以使用int(input_string)

  3. 有一个错误:sum=sum+counter应该是:sum=sum+num

最后:

  1. 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)

推荐阅读