displayMenu() - 函数未定义错误

displayMenu() - function is not defined error

菜单为用户提供了输入选项。主要重点是让函数被调用而不会像以前那样出现错误。解决方案是我的代码格式不正确。先显示()然后登录()和注册()。

分辨率:

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()

您应该在调用 displayMenu() 之前声明 register 函数。

尝试将函数声明移到代码的顶部。

我的解决方案是将我的函数 login() 移到我所有其他函数的下方而不调用它们,除非在 displayMenu() 和 displayMenu_Admin() 中。

此外,由于我没有完全理解这个概念,所以我不得不阅读 functions()。