我是编码新手,我想制作一个可以注册人员并重新登录的代码。在编写我的代码时,我想检查用户是否要登录或注册,所以我用python编写了此代码。
DateTime dt = DateTime.ParseExact(stringDate, "yyyy mm dd", CultureInfo.InvariantCulture);
即使变量满足条件,循环也不会停止。我试图删除第二个条件,由于某种原因它开始起作用。 这可能是一个愚蠢的问题,但是请耐心等待,我是一名高中生。
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
假设输入为登录或注册时停止循环。假设输出将答案更改为login_or_register = None。
答案 0 :(得分:3)
login_or_register != 'login' or login_or_register != 'register'
将始终为True。您可能要使用逻辑and
:
while login_or_register != 'login' and login_or_register != 'register':
# ....
答案 1 :(得分:2)
循环的条件不可能变为真。
如果两个条件之一或两者都变为or
,则 True
返回True
。
如果您输入的是'login'
,则第一个条件为False
,第二个条件为True
。
对于'register'
,第一个条件变为True
,第二个条件变为'False'
。
在所有其他情况下,两个条件均为True
。因此,您创建了一个无限循环。
一种解决方案是将两个条件与and
关联,甚至更好地创建一个包含所有允许输入的列表,然后使用in
来检查用户输入是否在该列表中。如果您允许用户输入更多选项,这将更加清楚。
例如:
login_or_register = None
while login_or_register not in ['login', 'register']:
login_register = input('Would you like to login or register?')
login_or_register = login_register.lower()