displayMenu () - функция не определена ошибка - PullRequest
0 голосов
/ 30 марта 2020

Меню предоставляет опции ввода пользователю. Основное внимание уделяется вызову функций без ошибок, как это было ранее. Решение состояло в том, что мой код был неправильно отформатирован. сначала отображается (), затем логин () и регистрация ().

Разрешение:

def displayMenu():
        global menu_input

        menu_input = input("Please enter one of the following options:\n r - register user\n a - add task\n va- view all tasks\n vm - view my tasks\n e - exit\n")

        if menu_input == "r": 
                register()
        elif menu_input == "a": 
                add_task()
        elif menu_input == "va": 
                view_all()
        elif menu_input == "vm": 
                view_more()
        elif menu_input == "e": 
                exit()

        return menu_input
displayMenu()

def login():
        username = input("Please enter your username?:\n")
        password = input("Please enter your password?:\n")

        for line in open("user.txt","r").readlines():
                field = line.strip().split(",")
                if username == field[0] and password == field[1]:
                        print("Username & Password Correct!\n")
                        return True
        print("Username & Password Incorrect\n")
        return False
login() 

def register():
        register = False

        while register == False:
              username = input("Please enter a username?: ")
              password = input("Please enter a password?: ")
              password_check = input("Please re-enter the password?:")
              if password == password_check:
                        file = open("user.txt","a")
                        file.write (username)
                        file.write (",")
                        file.write (password)
                        file.write("\n")
                        file.close()
                        register = True
                        print ("Your login details have been saved. ")

        else:
                        print("Passwords doesn't match!")

register()

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Вы должны объявить функцию register перед вызовом displayMenu().

Попробуйте переместить объявления функций в начало вашего кода.

0 голосов
/ 01 апреля 2020

В качестве разрешения я переместил свою функцию login () ниже всех других функций, не вызывая их, если только в displayMenu () и displayMenu_Admin ().

Кроме того, мне пришлось прочитать о функциях (), так как я не полностью понял концепцию.

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