Не могу получить "пока" заявление о прогрессе
Ранее я делал простую регистрацию в коде, и это работало, но когда я пошел отделить данные от кода в другой файл.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"
############
Ранее он работал, прежде чем я добавил второго "пользователя" к нему.
2 ответа
Проблема в этой строке:
while username != logindata.user1 or username != logindata.user2:
Если user1
а также user2
отличаются, чем условие будет всегда оценивать как ложное. Вы хотите использовать and
скорее, чем or
,
Кроме того, вы, вероятно, захотите подключить имя пользователя и пароль, и не позволять user1 войти в систему с паролем для user2 и наоборот...
Изменить 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
и цикл продолжается. Поэтому вам нужно, чтобы имя пользователя не совпадало с обоими logindata.user1
а также logindata.user2
, То же самое относится и к паролю.