首页 > 解决方案 > 在 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()

标签: pythonvariables

解决方案


如果你这样做,return那么你的代码会回到它被调用的地方。如果它不是从任何地方调用的(即您只是直接运行该脚本),那么调用return在大多数情况下等同于调用sys.exit(),即。程序终止。它永远不会打到你的休息时间,离开循环,或者打到你的电话menu()

此外,您给定的缩进不正确, theelse与 . 处于同一级别for,而不是if. 我认为这不是问题,但你可能会遇到下一个问题。;-)


推荐阅读