无法使 "while" 语句取得进展

Can not get "while" statement to progress

我之前制作了一个简单的登录代码,它可以正常工作,但是当我将代码中的数据分离到另一个 .py 文件并导入它时,它不会通过 "username: " 输入部分(它不断加载用户名的输入)。这是否意味着该文件未正确导入或在主代码中?

Login.py

print ("Loading please wait...")

import logindata 
import inputdata
import time

time.sleep(1.5)

username = ""
while username != logindata.user1 or username != logindata.user2:
    print ("Username: ")
    username = input()

password = ""
while password != logindata.passw1 or password != logindata.passw2:
    print ("password")
    password = input()

if username == logindata.user1 and password == logindata.passw1:
    print ("Logging in...")
    time.sleep(3)
    print ("Welcome, user1!")


if username == logindata.user2 and password == logindata.passw2:
    print ("Logging in...")
    time.sleep(3)
    print ("Welcome, user2!")

logindata.py

#Login Data#
user1 = "user1"
passw1 = "pass1"
user2 = "user2"
passw2 = "pass2"
############

在我向其添加第二个 "user" 之前,它之前一直在工作。

or 更改为 and

username = ""
while username != logindata.user1 and username != logindata.user2:
    print ("Username: ")
    username = input()

password = ""
while password != logindata.passw1 and password != logindata.passw2:
    print ("password")
    password = input()

当您输入与 logindata.user1 匹配的内容时,user != logindata.user2 的计算结果为 True 并且循环继续。因此,您需要用户名不匹配 both logindata.user1 and logindata.user2。密码也一样。

问题出在这一行:

while username != logindata.user1 or username != logindata.user2:

如果 user1user2 不同,则条件将始终计算为 false。您需要使用 and 而不是 or.

此外,您可能希望连接用户名和密码,并且不允许用户 1 使用用户 2 的密码登录,反之亦然...