我有这个程序:
print()
print ('------MENU------')
print ('1. Welcome to Python')
print ('2. Python is fun')
print ('3. This could be a challenge')
print ('4. Exit')
print()
choice = int(input('please enter a choice between 1 to 4: '))
for choice in (1,5):
if choice ==1:
print ('Welcome to python')
elif choice == 2:
print ('Python is fun')
elif choice == 3:
print ('This could be a challenge')
else:
break
它应该先打印MENU,然后要求输入一个整数。我的问题是为什么每次输入1到3之间的整数时它都会打印两次?
答案 0 :(得分:5)
使用for choice in (1,5):
,您将告诉程序:“对choice = 1
执行一次以下操作,对choice = 5
执行一次以下操作。这里,for
是一个for- 循环,这并不意味着“针对……”。
您可能的意思是if choice in range(1, 5)
。 range
也很重要,否则您将只测试choice
是否在元组(1, 5)
中,即1
或5
中。或者,您也可以执行if 1 <= choice < 5
。
(注意:将for
更改为if
后,您可能会遇到break
的问题,因为这是循环允许的。或者,您可以使用{{1 }}(如果该代码位于函数中,或者仅return
即可退出程序,或者如果它始终是程序中的最后一条语句,则根本不执行任何操作)。