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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在调用我的函数时,它不起作用?相关的知识,希望对你有一定的参考价值。

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

##### 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.")
答案

正如罗伯特和帕里托什上面提到的那样,option1不存在于option函数之外。我可以建议以下解决方案:

def option():
    return int(input("Would you like to:"))

##### MAIN CODE
while choice == True:
    option1 = option()
    if option1 == 1:
        login()
    # continue your logic
另一答案

您只需返回所选选项并捕获主代码中的返回值:

##### 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 CODE
choice = True
while 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.")
另一答案

你还没有定义choice。你也在一个函数中声明option1,所以当你没有定义它时,你没有定义。试试这个,你需要从函数中返回一些东西。

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

choice = True

def option():
    option = int(input("""Would you like to:
    1. Login
    2. Register
    3. See the Leaderboard"""))
    return option

##### MAIN CODE
while 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.")

以上是关于在调用我的函数时,它不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

我想从片段中隐藏片段容器视图(在 MainActivity 布局内),但是当我单击任务按钮然后重新打开应用程序时它不起作用

我试图让我的函数在文件末尾停止,但它不起作用

按钮在片段中不起作用

为多个页面定义和调用自定义 AJAX 函数不起作用

在内部片段类中使用ListView

spark read 在 Scala UDF 函数中不起作用