python - While loop doesn't stop with multiple conditions
问题描述
I am new to coding and i wanted to make a code that could register people and log them back in. while working on my code i wanted to check if the user wanted to login or register so i made this code in 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 loop doesn't stop even if variable meets the conditions. I tried to remove the second condition and it started to work for some reason. This is probably a dumb question but please be patient I'm a high school student.
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?
It is suppose to stop the loop when input is login or register. Output is suppose to be changing variable login_or_register = None to the answer.
解决方案
login_or_register != 'login' or login_or_register != 'register'
将永远是真实的。您可能想使用逻辑and
:
while login_or_register != 'login' and login_or_register != 'register':
# ....
推荐阅读
- c# - 如何在 HttpWebRequest 中获取服务器文件名?
- c# - VB.NET 和 C# 项目中嵌入式资源命名的区别
- android - Flutter - 安装 firebase_messaging onBackgroundMessage 后出现 RuntimeException
- react-native - 每次组件成为 react-native 中的活动选项卡时调用函数
- swift - Xcode:Interface Builder 使用错误的目的地来呈现 IBDesignable
- python - 总结许多子计数的最佳方法
- reactjs - 使用 setState 反应获取数据数组正在工作,但不能使用钩子
- bash - 如何从bash中的文件名中删除特定字符串
- javascript - 事件监听器,单选按钮停止工作
- windows - 从源安装 ejabberd 时出错(与 GCC 和 Cygwin 相关的内容)