首页 > 解决方案 > != 不在 while 循环中工作,导致无限循环

问题描述

 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)

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

标签: javascriptloopswhile-loop

解决方案


正如我在评论中所说,您的条件不适合您期望的输出。

对于这种输出,您需要更改条件,这可以通过列表来实现。并且在您的代码中也应该有一些输入验证,用于 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)

这将解决您的问题。


推荐阅读