【发布时间】:2021-05-21 09:45:57
【问题描述】:
您好,我想从用户那里获取一个数字,并且只能在一定范围内输入。
以下内容似乎可行,但我是菜鸟,并且认为尽管可行,但毫无疑问,这是一个更优雅的示例……只是尽量不要养成坏习惯!
我注意到的一件事是,当我运行程序时,CTL+C 不会让我跳出循环,而是引发异常。
while True:
try:
input = int(raw_input('Pick a number in range 1-10 >>> '))
# Check if input is in range
if input in range(1,10):
break
else:
print 'Out of range. Try again'
except:
print ("That's not a number")
非常感谢所有帮助。
【问题讨论】:
-
这似乎是两个完全不同的问题...最好一次问一个问题。如果你得到两个答案:一个是第一个问题,另一个是第二个问题,你怎么知道要接受哪个?
-
你知道
range(1,10)不包括10吗?您的raw_input文字表明您可能希望 10 可以接受。 -
是的,我知道 10 超出了范围,我的错误是将其包含在 raw_input 语句中。抱歉,只是快速将值作为示例。谢谢。
标签: python error-handling user-input