在调用我的函数时,它不起作用?
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 布局内),但是当我单击任务按钮然后重新打开应用程序时它不起作用