请考虑以下代码:
>>> num = int(raw_input('Enter the number > '))如果用户没有输入任何内容并按下'Enter',我想要捕获它。(捕获空输入)
有两种方法可以做到:
num = raw_input(),然后检查是否num == ''。之后,我可以将其转换为int.ValueError。但在这种情况下,我无法区分非数字输入和空输入。对如何做到这一点有什么建议吗?
发布于 2010-07-25 10:39:41
像这样吗?
num = 42 # or whatever default you want to use
while True:
try:
num = int(raw_input('Enter the number > ') or num)
break
except ValueError:
print 'Invalid number; please try again'这取决于这样一个事实:应用于数字的int()只会返回该数字,并且emtpy字符串的计算结果为False。
发布于 2017-03-25 12:49:36
类似于:
flag = True
while flag:
try:
value = input(message)
except SyntaxError:
value = None
if value is None:
print "Blank value. Enter floating point number"对于带有输入的空白值,可以捕获异常并使用print语句通知用户。
https://stackoverflow.com/questions/3328842
复制相似问题