2014-06-13 95 views
-3

我需要一些帮助程序的逻辑。我在做什么:逻辑问题 - 数字总和

用一个循环编写程序,要求用户输入一系列正数。 用户应该输入一个负数来表示该系列的结尾。在输入所有正数 数字后,程序应显示总和。

keep_going = ' ' 
max =() 
total = 0.0 

print('This program will add numbers together until a negative number is entered.') 
print('It will then show the total of the numbers entered.') 

while keep_going != (-): 
    number = int(input('Enter a number: ')) 
    total = total + number 

print('The total is', total) 

我哪里错了?

total = 0 

while True: 
    number = int(input('Enter a number: ')) 
    if number < 0: 
     break 
    total = total + number 

只有通过测试刚进入时已输入负数,您可以检测数:

+0

这个'( - )'看起来不像有效的语法。 –

回答

5

如果刚刚进入的数量小于0使用一个无限循环和测试。

+0

你应该在应用int()之前检查'input()'的返回值吗? –

+0

@HunterMcMillen:你可以使用异常处理,但从外观上看,这是一个初学者,学习编程。教程通常假定用户只需输入有效的数字并在稍后引入异常处理。 –

+0

是的,但只是要清楚,如果我输入''''程序会崩溃 –

0

您永远不会更改keep_going的值,因此您的循环将永远不会终止。

+0

你甚至不能测试'( - )';这是一个括号内的运算符,而不是合法的语法。 –

+0

我觉得也是这样,但我不太了解Python。 –