你的代码不起作用的主要原因是因为break会立即结束最里面的循环(在本例中是你的while循环),因此中断后的代码行将不会被执行.
这可以使用其他人指出的方法轻松修复,但我建议稍微更改while循环的结构.
目前您正在使用:
while True:
if :
break
而不是:
while :
您可能有这样的理由,但是从您提供给我们的代码中看不到它.
如果我们更改您的代码以使用后一种结构,那么这将简化程序并解决主要问题.
您还可以多次打印“输入数字或0以退出:”,这是不必要的.你可以把它传递给输入,这就足够了.
total = 0
number = None
while number != 0:
number = int(input("Enter a number or 0 to quit: "))
total += number # Same as: total = total + number
print("The total number is", total)
唯一的“缺点”(只是化妆品)是我们需要在循环之前定义数字.
另请注意,我们要在整个循环结束后打印总数,因此最后的打印是缩进的,并且不会在while循环的每个循环中执行.