为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕神8447489 2021-09-28 13:31:36
我正在为 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 CODEwhile 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.")
查看完整描述

3 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

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


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


查看完整回答
反对 回复 2021-09-28
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

正如 Robert 和 Paritosh 上面提到的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


查看完整回答
反对 回复 2021-09-28
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

你还没有定义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.")


查看完整回答
反对 回复 2021-09-28
  • 3 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信