这里是Python新手,试图将测验输入限制为仅限1,2或3
如果键入文本,程序崩溃(因为文本输入无法识别)
这是对我所拥有的改编:
欢迎任何帮助。
choice = input("Enter Choice 1,2 or 3:")
if choice == 1:
print "Your Choice is 1"
elif choice == 2:
print "Your Choice is 2"
elif choice == 3:
print "Your Choice is 3"
elif choice > 3 or choice < 1:
print "Invalid Option, you needed to type a 1, 2 or 3...."
答案 0 :(得分:8)
改为使用raw_input()
,然后转换为int
(如果转换失败,则抓住ValueError
)。您甚至可以包含范围测试,如果给定的选择超出允许值范围,则显式提升ValueError()
:
try:
choice = int(raw_input("Enter choice 1, 2 or 3:"))
if not (1 <= choice <= 3):
raise ValueError()
except ValueError:
print "Invalid Option, you needed to type a 1, 2 or 3...."
else:
print "Your choice is", choice
答案 1 :(得分:2)
试试这个,假设choice
是一个字符串,因为问题中描述的问题似乎就是这种情况:
if int(choice) in (1, 2, 3):
print "Your Choice is " + choice
else:
print "Invalid Option, you needed to type a 1, 2 or 3...."