问题描述
while True:
try:
x = int(input("Please enter a number 1 - 5: "))
print (x)
except ValueError:
print "Oops! That was not a valid number. Try again..."
但是我如何确保只有在x介于0到6之间时才会打印“ x”。
解决方法
如果要保留异常流,可以在用户输入无效值时引发异常。
while True:
try:
x = int(input("Please enter a number 1 - 5: "))
if x < 1 or x > 5:
raise ValueError('Input not valid') # go to except block
print (x)
except ValueError:
print ("Oops! That was not a valid number. Try again...")
您还可以编写循环而不会引发异常:
while True:
x = int(input("Please enter a number 1 - 5: "))
if x < 1 or x > 5:
print ("Oops! That was not a valid number. Try again...")
continue # skip print
print (x)