如何解决为什么我的Or语句会使我的程序混乱?
users = {} 状态=“”
def Menu(): 全球地位 状态=输入(“您是注册用户吗?是/否?输入q退出。\ n”)
if status == "Y" or "y": #I wanted to make the option do capital and lowercase Y and N but when I
OldUser()
elif status == "N" or "n": #enter "n" it goes to OldUser() instead of Register()
Register()
def Register(): 名称=输入(“输入用户名:”)
if name in users:
print("The username is already used. Try again.")
else:
pass_w = input("Enter a password: ")
users[name] = pass_w
print("\n Registration Complete! \n")
def OldUser(): login_n = input(“输入您的用户名:”)
if login_n in users:
login_p = input("Enter your password: ")
if login_p == users[login_n]:
print("\n Login Successful! \n")
else:
print("Password incorrect!")
else:
print("\n Wrong user or user doesn't exist. \n")
while状态!=“ q”: 菜单()
解决方法
您需要这样做:
if status == "Y" or status == "y":
OldUser()
elif status == "N" or status == "n":
Register()
他们是这样做的另一个更好的解决方案:
if status.lower() == "y":
OldUser()
elif status.lower() == "n":
Register()
,
if status in ["Y","y"]:
OldUser()
elif status in ["N","n"]:
Register()
或者您可以使用
if status == "Y" or status == "y":
OldUser()
elif status == "N" or status =="n":
Register()
或者您可以降低身份并执行此操作
if status.lower() == "y":
OldUser()
elif status.lower() == "n":
Register()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。