Python: как мне вызвать «контейнер» в новой функции def? - PullRequest
0 голосов
/ 26 ноября 2018

answer3 - это имя в теле функции, и я хочу использовать объект, назначенный ему, в теле другой функции.Есть ли способ сделать это?

По сути, я хочу сделать следующее:

def test():
    answer3 = input("Direction?: ")

def thirdanswer():
    if answer3 == "north":
        do_something()

Я понятия не имею, что я делаю в целом, и буду очень признателен за помощь.

1 Ответ

0 голосов
/ 26 ноября 2018

Как и предполагали другие, вам будет полезно просто пройти базовый урок по питону.Для вашей конкретной проблемы, вот скелет, которому вы можете следовать:

def test():
    return input("Direction?: ")

def thirdanswer():
    if test() == "north":
        print("success")

thirdanswer()

Это запускает thirdanswer(), который вызывает test(), который запрашивает у пользователя ввод.Затем test() возвращает этот ввод в thirdanswer(), который затем сравнивает его со строкой "север" и печатает успех, если он соответствует.

Другой способ - использовать глобальные переменные ,В приведенном ниже коде у меня есть глобальная переменная ans.Я явно вызываю test() для установки ans, затем вызываю thirdanswer() для сравнения ans с "севером".

ans = ""
def test():
    global ans
    ans = input("Direction?: ")

def thirdanswer():
    if ans == "north":
        print("success")

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