Я немного экспериментирую с файлами, когда дело доходит до Python (я новичок в Python), и я столкнулся с тем, что кажется логической ошибкой.
Я читаю в две строки изфайл, я сравниваю первую строку со строкой, я сравниваю вторую строку со строкой.
Первая строка идентична строке, вторая строка также идентична строке.
Файл "admin_details.txt" состоит из двух строк.
Первая строка: "kappa"
Вторая строка: "opieop"
ЕслиЯ ввожу в «kappa» в качестве имени пользователя и «opieop» в качестве пароля, это «если lines [0] == username и lines [1] == пароль» должно быть True, и он действительно должен выполнять код «log_in_details = True»", но это не так.
log_in_details = False
username = ""
password = ""
details = []
while log_in_details == False:
username = input("\n< Username >: ")
password = input("< Password >: ")
f = open("admin_details.txt", "r")
lines = f.readlines()
print(f"\nThe first line 'lines[0]' in the file is: {lines[0]}", end='')
print(f"The second line 'lines[1]' in the file is: {lines[1]}")
print(f"\nEntered username is: {username}")
print(f"Entered password is: {password}")
if lines[0] == username and lines[1] == password:
log_in_details = True
else:
print("\nYou entered in the wrong username or password.")
print("Try again!")
f.close()
Я ожидаю, что программа войдет в первый блок кода прямо под оператором if, изменит log_in_details на True, а затем программа выйдет из цикла while иПрограмма прекратит возвращать 0. Это не делает,вместо этого он входит в блок кода прямо под else и возвращается к началу цикла while.