Проверка чего-либо в каждой строке текстового файла с помощью python (Beginner) - PullRequest
0 голосов
/ 07 ноября 2019

Мне было поручено создать базовую функцию входа в систему с использованием различных имен входа, уже сохраненных в текстовом файле, проблема в том, что я проверяю первую строку файла.

def login_system():
    global logged_in
    username = input("Please Enter Your Username:   ")
    password = input("Please Enter Your Password:   ")
    f = open("staff.txt", "r")
    for line in f:
        if line == username+":"+password:
            print ("You Are Logged In")
            logged_in += 1
            clear()
            return True
        else:
            print ("Your username and password combination is incorrect, please see the administrator")
            logged_in += 0
            return False

иэто содержимое моего файла staff.txt.

имя пользователя: пароль

имя пользователя2: пароль2

пример: пример

Забыл упомянуть, что когда он выводит строку, он выводит * сколько строк в моем текстовом файле, я исправлю это позже.

1 Ответ

1 голос
/ 07 ноября 2019

Это проверяет только первую строку файла, потому что функция возвращает true, если имя пользователя и пароль верны, иначе возвращает false. Как только функция возвращает True или False, функция возвращается туда, где вы ее вызвали. это должно это исправить:

def login_system():
    lines = 0
    global logged_in
    username = input("Please Enter Your Username:   ")
    password = input("Please Enter Your Password:   ")
    f = open("staff.txt", "r")
    for line in f:
        if line == username + ":" + password:
            print ("You Are Logged In")
            logged_in += 1
            clear()
        else:
            print ("Your username and password combination is incorrect, please see the administrator")
        lines += 1

    return lines == logged_in
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...