谢谢你的答案,我已经改变了一点,但是热衷于获得无限循环。当用户输入选项1-5时,它继续前进,但是如果用户输入6或更多,它将继续询问有效选项(1-5),但是当它运行时,即使我从1-5提供选项它一直说它无效。
def get_user_input():
user_input = int(input("Enter your choice: "))
while user_input > 5:
print("Invalid menu option.")
int(input("Please try again: "))
if user_input <= 5:
return user_input
答案 0 :(得分:0)
在你的循环中,你要求新的用户输入,但没有对它做任何事情。您需要将新输入分配给正在循环条件下测试的user_input
变量:
def get_user_input():
user_input = int(input("Enter your choice: "))
while user_input > 5:
print("Invalid menu option.")
user_input = int(input("Please try again: ")) ### add the assignment on this line!
return user_input ### no if needed here, return unconditionally
我还在循环后删除了if
行。如果您成功退出循环,则已知输入小于5
,因此无需再次检查。