2017-06-16 38 views
-1

我对如何做到这一点感到困惑 - 编写一个程序sumAll.py,提示用户输入数字,每行一个,以包含0的行结束,并保持号码。只有在输入所有数字后(至少在最终版本中)才打印出总和。不要创建一个列表!每次你阅读一个号码,你可以立即用它作为你的总和,然后用刚输入的号码完成。Python - 查找全部

这是我的代码,但一直说中断不在循环中。

sum = 0 
while(True): 
    n = int(input('Please enter a number: ')) 
    if n==0: 
     break 
    sum = sum + n 
print("Sum = "+str(sum)) 
+6

Stack Overflow不是要求他人为您编写代码的地方。如果你写了一些代码并被卡住了,请分享你的代码到目前为止,并提出一个更具体的问题。 – smarx

回答

1

我认为你在那里。该代码工作正常。错误是什么? 你也可以使用raw_input代替 -

#!/usr/bin/env python 
sum = 0 
while(True): 
    n = int(raw_input('Please enter a number: ')) 
    if n == 0: 
     break 
    sum = sum + n 
print("Sum = "+str(sum)) 

输出 -

$python test.py 
Please enter a number: 1 
Please enter a number: 2 
Please enter a number: 3 
Please enter a number: 0 
Sum = 6 
0

“破发是退出循环,因为”你写的“如果”声明,“破发”出来的,而loop.your而循环只是ip“if”语句而已。在while循环中写入“if”然后检查。它会工作。

-1

这是正确的缩进打印你写条件不在while循环下。

sum = 0 
while(True): 
    n = int(input('Please enter a number: ')) 
    if n==0: 
    break 
    sum = sum + n 
print("Sum = "+ str(sum))