Python 为什么我的Or语句会把我的编程搞得一团糟?
用户={} status=“” def菜单(): 全球地位 状态=输入(“您是注册用户吗?输入q退出。\N”) def寄存器(): 名称=输入(“输入用户名:”) def OldUser(): 登录=输入(“输入您的用户名:”) 而身份!=“q”: 菜单() 或者你可以使用Python 为什么我的Or语句会把我的编程搞得一团糟?,python,if-statement,authentication,logic,logical-operators,Python,If Statement,Authentication,Logic,Logical Operators,用户={} status=“” def菜单(): 全球地位 状态=输入(“您是注册用户吗?输入q退出。\N”) def寄存器(): 名称=输入(“输入用户名:”) def OldUser(): 登录=输入(“输入您的用户名:”) 而身份!=“q”: 菜单() 或者你可以使用 if status == "Y" or status == "y": OldUser() elif status == "N" or stat
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 == "Y" or status == "y":
OldUser()
elif status == "N" or status == "n":
Register()
if status.lower() == "y":
OldUser()
elif status.lower() == "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()
此外,您还可以在变量末尾添加.lower()或.upper(),以便userInput=input('Enter y或n')。lower()和if语句只使用小写y,即使它们使用和大写字母,也会将其转换为小写
if status == "Y" or status == "y":
OldUser()
elif status == "N" or status == "n":
Register()
if status.lower() == "y":
OldUser()
elif status.lower() == "n":
Register()