Input 我怎样才能打破这个循环?尽管如此:

Input 我怎样才能打破这个循环?尽管如此:,input,while-loop,sum,average,break,Input,While Loop,Sum,Average,Break,我什么时候告诉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

我什么时候告诉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

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

  • 有一个错误:
    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)