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