我是Python的新手,我正在尝试解决以下问题:我想添加用户输入的数字。这是我的程序
add = 0
num = input('Enter a number:')
add = add + num
while num != ' ' :
num = input('Next number:')
add = add + num
print add
我想在输入空白时终止程序。所以我知道问题出在第4行。什么是正确的语法?
提前感谢您的帮助
答案 0 :(得分:1)
在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
答案 1 :(得分:0)
尝试按照并阅读一下。
>>> help(input)
>>> help(raw_input)
>>> s=raw_input()
<return right here>
>>> s
''
>>> s=raw_input()
<one space followed by return here>
>>> s
' '
>>>