python - 在 Python 中的函数之间传递变量,然后返回菜单
问题描述
随着我对 Python 的学习慢慢进步,我会喜欢一些我尝试创建的代码的小手。
我之前让这个程序与全局变量一起运行以获得概念证明,以了解在函数之间传递变量。完全工作正常。但是,它不会运行函数并返回菜单,它只会在我返回值的地方停止,而不是返回到我创建的主菜单。它位于“返回 AirportDetailsGlobal”的位置。
我敢肯定它是一个简单的,正如所说 - 仍在学习!非常感谢您对此的任何帮助!
完整代码在 pastebin 上以供进一步参考 - pastebin 89VqfwFV
print("\nEnter airport code for overseas")
osCode = input()
airports = airData
for line in airports:
if osCode in line:
print (osCode, "Found\n\n")
print("Airport Name:",line[1])
OverseaCodeGlobal = osCode
x = int(line[2])
AirDataGlobal = x #changed here
return AirportDetailsGlobal
break
else:
print('Incorrect Choice')
menu()
menu()
解决方案
如果你这样做,return
那么你的代码会回到它被调用的地方。如果它不是从任何地方调用的(即您只是直接运行该脚本),那么调用return
在大多数情况下等同于调用sys.exit()
,即。程序终止。它永远不会打到你的休息时间,离开循环,或者打到你的电话menu()
。
此外,您给定的缩进不正确, theelse
与 . 处于同一级别for
,而不是if
. 我认为这不是问题,但你可能会遇到下一个问题。;-)