调用我的函数时,它不起作用?

我正在为 GCSE 学习计算机科学,我们有一个项目到期,但我似乎无法弄清楚如何使用函数。它告诉我“NameError: name 'option1' is not defined”,即使我定义了它,它似乎也不起作用。如果您能检查下面的代码并告诉我如何解决问题,解释它如何以及为什么不起作用,我将非常感激!谢谢!(现在请忽略注册和排行榜功能,我会自己解决一个我了解登录功能应该如何工作的。)


##### login, register or see the leaderboard.

def option():

    option1 = int(input("""Would you like to:

    1. Login

    2. Register

    3. See the Leaderboard"""))


##### MAIN CODE

while choice == True:

    option()


    if option1 == 1:

        login()

        choice = False


    elif option1 == 2:

        register()

        choice = False


    elif option1 == 3:

        leaderboardopen()

        choice = False


    else:

        print("Incorrect value given. Please try again.")


慕神8447489
浏览 196回答 3
3回答

守候你守候我

您只需要返回所选选项并在主代码中捕获返回值:##### login, register or see the leaderboard.def option():    option1 = int(input("""Would you like to:    1. Login    2. Register    3. See the Leaderboard"""))    return option1##### MAIN CODEchoice = Truewhile choice == True:    option1 = option()    if option1 == 1:        login()        choice = False    elif option1 == 2:        register()        choice = False    elif option1 == 3:        leaderboardopen()        choice = False    else:        print("Incorrect value given. Please try again.")

杨__羊羊

正如 Robert 和 Paritosh 上面提到的option1,在option函数之外不存在。我可以建议以下解决方案:def option():    return int(input("Would you like to:"))##### MAIN CODEwhile choice == True:    option1 = option()    if option1 == 1:        login()    # continue your logic

qq_笑_17

你还没有定义choice. 此外,您是option1在函数内部声明的,因此当您离开该函数时,它没有被定义。试试这个,你需要从函数中返回一些东西。##### login, register or see the leaderboard.choice = Truedef option():    option = int(input("""Would you like to:    1. Login    2. Register    3. See the Leaderboard"""))    return option##### MAIN CODEwhile choice == True:    option = option()    if option == 1:        login()        choice = False    elif option == 2:        register()        choice = False    elif option == 3:        leaderboardopen()        choice = False    else:        print("Incorrect value given. Please try again.")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python