Как вы используете вход (в операторе if) из одной процедуры с другой процедурой - PullRequest
0 голосов
/ 07 марта 2019

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

Однако я пытаюсь использовать оператор, (если new_username == username) . Я хочу использовать имя пользователя, которое они уже создали, и имя, которое они только что ввели. Однако эти 2 входа находятся в разных процедурах. И из-за этого он не позволит мне использовать другой вход из другой процедуры. Если есть какие-либо изменения или исправления, которые я могу внести в код для преодоления этой проблемы, я был бы очень признателен!

мой код и чертежи, объясняющие, о чем я говорю

оригинальное изображение моего кода до сих пор

Ответы [ 2 ]

2 голосов
/ 07 марта 2019

Ваш тест не соответствует действительности, вы должны использовать имя пользователя и пароль в качестве глобальной переменной.

Попробуйте это:

  def register():
        username = input("Please enter your username ")
        password = input("Please enter your password ")
        file = open("login.txt","a")
        file.write(username+" "+password+"\n")
        file.close()


    def login():
        username = input("Please enter your username ")
        password = input("Please enter your password ")  
        for line in open("login.txt","r").readlines(): 
            login_info = line.split() 
            if username == login_info[0] and password == login_info[1]:
                print("Correct credentials!")
                return True
        print("Incorrect credentials.")
        return False
0 голосов
/ 07 марта 2019

В вашей функции newUser () вы должны будете назначить переменные, которые вы использовали, например. 'username' как глобальный. Это позволит вам использовать и получать доступ к переменной вне текущей процедуры.

def newUser():
    global username 
    username = input("Create login name: ")

Делайте это с каждой переменной, к которой вы хотите получить доступ за пределами текущей процедуры.

В идеале, если вы собираетесь много заниматься этим в своей программе, возможно, вы захотите взглянуть на использование классов.

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