我正在尝试在此处创建菜单。该菜单允许用户输入选项。还有一个验证功能可以检查用户输入的选项是否有效。
def menu():
while True:
display_menu()
user_input = validate("Choose Option")
if user_input == 1:
pass
elif user_input == 2:
exit()
def display_menu():
print("1) Application")
print("2) Quit Application")
def validate1(q):
user_input = input(q)
if len(user_input) == 0:
return False
elif user_input != "1" or user_input != "2": # Error is likely here
print("Invalid option, please choose another option")
return False
else:
return user_input
运行此代码时,您将得到:
1) Application
2) Quit Application
Choose Option
但是,在输入1
后,验证函数认为输入1
无效,您将得到:
Invalid option, please choose another option
1) Application
2) Quit Application
Choose Option
情况并非如此,因为1
应该有效。最初,我认为这是关于变量user_input
的类型的错误,我试图对其进行更改(从第22行开始):
elif user_input != 1 or user_input != 2:
但是错误仍然存在。
这是什么错误?
答案 0 :(得分:0)
elif user_input!=“ 1”或user_input!=“ 2”:
让我们假设您的用户输入为“ 1”,则该语句将为true user_input(1)不等于(2)
因此,您需要将该语句更改为其他类似的内容:
def validate(q):
user_input = input(q)
if len(user_input) == 0:
return False
if user_input == str(1) or user_input == str(2): # Valid Options
return user_input
else:
print("Invalid option, please choose another option")
return False