!=在while循环中不起作用,导致无限循环

时间:2018-10-08 09:19:52

标签: javascript loops while-loop

 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)

上面的代码会导致无限循环。

2 个答案:

答案 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)

这将解决您的问题。