猿问

显示菜单() - 函数未定义错误

该菜单为用户提供输入选项。主要重点是像以前那样无错误地调用函数。解决方法是我的代码格式不正确。首先显示(),然后登录()并注册()。


分辨率:


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


温温酱
浏览 148回答 2
2回答

红糖糍粑

您应该在调用 之前声明该函数。registerdisplayMenu()尝试将函数声明移动到代码的顶部。

狐的传说

我的解决方案是将我的函数 login() 移动到所有其他函数的下面,而不调用它们,除非在 displayMenu() & displayMenu_Admin()中。另外,我不得不阅读函数(),因为我没有完全理解这个概念。
随时随地看视频慕课网APP

相关分类

Python
我要回答