我正在尝试做一个汽车变速箱类型的输入验证,但是为什么在我输入了正确的输入(M/A)的情况下,它仍然显示输入无效?
print(">>> M - Manual\n>>> A - Auto")
transmission_type = input("Please select car transmission type (M/A): ")
while True:
if transmission_type == '':
transmission_type = input("Please select car transmission type (M/A): ")
elif transmission_type != "M" or transmission_type != "A":
print("Invalid input !")
transmission_type = input("Please select car transmission type (M/A): ")
else:
print("Transmission type:",transmission_type)
break发布于 2021-05-13 10:23:20
您需要使用and,而不是or。
这将解决您的问题,并提供所需的结果。
发布于 2021-05-13 10:25:31
您需要使用and。这将为您提供正确的输出。
除了这个答案之外,我还建议使用in检查一个输入是否可能等于多个事物。
print(">>> M - Manual\n>>> A - Auto")
transmission_type = input("Please select car transmission type (M/A): ")
while True:
if transmission_type == '':
transmission_type = input("Please select car transmission type (M/A): ")
elif transmission_type not in ('M', 'A'):
print("Invalid input!")
transmission_type = input("Please select car transmission type (M/A): ")
else:
print("Transmission type: ", transmission_type)
breakhttps://stackoverflow.com/questions/67513138
复制相似问题