Name=input("Enter name")
Age=int(input("Enter Age"))
Gender=input("Enter Gender")
while Gender!="M"or Gender!="F"or Gender!="T":
print("try again")
Gender=input("Enter Gender")
print(Name,Age,Gender)
上面的代码会导致无限循环。
答案 0 :(得分:0)
请检查您的状况。表示
如果Geneder不是M 或性别不是F 或性别不是T 然后继续循环
这意味着即使您输入“ M”,它也将处于其他状态,因为它不是“ F”。基本上,操作员不是问题,这是条件。性别总是会与其中之一有所不同。
您可以尝试将其切换为AND(在所有这些都不为真的情况下执行)
答案 1 :(得分:0)
正如我在评论中所说,根据您的期望,您的条件不合适。
对于这种输出,您需要更改条件,并且可以借助列表来实现。 并且在代码中还应该进行一些输入验证,以便对年龄进行int检查。
您可以使用下面的代码
Name=input("Enter name")
#int validation check for Age variable START
inl=True
while(inl):
try :
Age=int(input("Enter Age"))
inl=False
except:
print("Age must be a integer !")
#int validation check for Age variable END
Gender=input("Enter Gender")
a=["M","F","T"]
#condition change for Gender check
while Gender.upper() not in a:
print("Input A valid Gender like 'M' or 'F' or 'T'")
Gender=input("Enter Gender")
print(Name,Age,Gender)
这将解决您的问题。