虽然循环不会因多个条件而停止

我是编码新手,我想制作一个可以注册人员并将他们重新登录的代码。在处理我的代码时,我想检查用户是否想要登录或注册,所以我在 python 中制作了这段代码。


login_or_register = None

while login_or_register != 'login' or login_or_register != 'register':


 login_register = input('Would you like to login or register?')

 login_or_register = login_register.lower()

 login_or_register = login_register

即使变量满足条件,While 循环也不会停止。我试图删除第二个条件,但由于某种原因它开始起作用。这可能是一个愚蠢的问题,但请耐心等待我是一名高中生。


Would you like to login or register?login

Would you like to login or register?register

Would you like to login or register?keeps going :(

Would you like to login or register?

假设输入是登录或注册时停止循环。输出假设将变量 login_or_register = None 更改为答案。


小唯快跑啊
浏览 152回答 2
2回答

婷婷同学_

您的循环条件不可能变为真。orTrue如果两个条件之一或两者都变为 ,则返回True。如果您的输入是'login',则第一个条件是False,第二个条件是True。因为'register'第一个条件变成True了第二个'False'。在所有其他情况下,两个条件都是True。因此,您创建了一个无限循环。一个解决方案是将两个条件与一个and或什至更好地创建一个包含所有允许输入的列表并使用一个in来检查用户输入是否在该列表中。如果您允许用户输入更多不同的选项,那将更加清楚。例如:login_or_register = Nonewhile login_or_register not in ['login', 'register']:    login_register = input('Would you like to login or register?')    login_or_register = login_register.lower()您可能还想查看python 文档or和and

江户川乱折腾

login_or_register != 'login' or login_or_register != 'register'将永远是真实的。您可能想要使用逻辑and:while login_or_register != 'login' and login_or_register != 'register':    # ....
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python