Передача переменных между функциями в Python, затем обратно в меню - PullRequest
1 голос
/ 13 июля 2020

Медленно прогрессирую в моем обучении с Python, и мне хотелось бы немного поработать с кодом, который я пытался создать.

Ранее я запускал эту программу с глобальными переменными, чтобы получить подтверждение концепции узнать о передаче переменных между функциями. Полностью работала нормально. Однако вместо того, чтобы запустить функцию и вернуться в меню, она просто остановится там, где я верну значение, и не вернется в главное меню, которое я создал. Он находится в точке «return 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()

1 Ответ

0 голосов
/ 13 июля 2020

Если вы выполните return, ваш код вернется туда, откуда он был вызван. Если он не был вызван ниоткуда (ie. Вы только что запустили этот скрипт напрямую), то вызов return в большинстве случаев эквивалентен вызову sys.exit(), ie. программа завершается. Он никогда не попадет в ваш перерыв, не оставит l oop или не попадет в ваш вызов menu().

Кроме того, ваш отступ, как указано там, неправильный, else находится в том же самом уровень как for, а не if. Я не думаю, что это проблема, но вы можете столкнуться с ней в следующий раз. ; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...