如何检查用户是否将“input”或“raw_input”提示留空?

时间:2012-03-28 19:06:45

标签: python python-2.x

如何检查输入是否已输入?

例如:

x = str(raw_input('Message>> '))

y = input('Number>> ')

2 个答案:

答案 0 :(得分:15)

你知道如果第二个没有输入任何内容,因为它会引发SyntaxError。您可以捕获这样的错误:

try:
    y=input('Number>> ')
except SyntaxError:
    y = None

然后测试

# not just 'if y:' because 0 evaluates to False!
if y is None:

或者,最好使用raw_input

try:
    y = int(raw_input('Number>> '))
except ValueError:
    print "That wasn't a number!"

对于第一个,如果没有输入,x将是一个空字符串。无需调用str - raw_input已经返回一个字符串。可以明确地测试空字符串:

if x == '':

或隐含地:

if x:

因为唯一的False字符串是空字符串。

答案 1 :(得分:0)

这也有用

y = input('Number>> ')
while not y:
    y = input('Number>> ')