-1

我是 Python 的新手,我正在尝试解决以下问题:我想添加用户输入的数字。这是我的程序

add = 0  
num = input('Enter a number:')
add = add + num
while num != ' ' : 
    num = input('Next number:')
    add = add + num
    print add

我想在输入空白时终止程序。所以我知道问题出在第 4 行。正确的语法是什么?

在此先感谢您的帮助

4

2 回答 2

2

在 python 2.7 中,用户输入应该使用raw_input

这是因为input在语义上等价于:

eval(raw_input(prompt))

明显地

eval('')

解析时会返回EOF错误。

由于raw_string不会将字符串解析为 int,int()因此在添加时您还必须使用它来转换它。
您还需要更改为 while 语句:

add = 0  
num = raw_input('Enter a number:')
# you cant do a + here what if the user hits enter right away.
if num:
    add = int(num)

while num: # enter will result in a null string not a space
    num = raw_input('Next number:')
    if num:
        add = add + int(num)
    print add
于 2013-09-10T23:36:11.053 回答
0

尝试跟随并阅读一下。

>>> help(input)

>>> help(raw_input)

>>> s=raw_input()
<return right here>
>>> s
''
>>> s=raw_input()
 <one space followed by return here>
>>> s
' '
>>>
于 2013-09-10T23:33:09.693 回答