Получение одной функции для вызова другой функции, которая создает кортеж - PullRequest
1 голос
/ 09 мая 2020

Я пытаюсь заставить свою функцию результатов вызвать мою функцию retrieve_pub_vote_summary, которая создает кортеж. Затем я хочу, чтобы моя функция результатов распечатала кортеж.

@application.route('/results/')
def results:
    publication = "nytimes"
    retrieve_pub_vote_summary(publication)
    print(pub_tuple)

##############################################
def retrieve_pub_vote_summary(publication):
    onevotes = 1
    twovotes = 2
    pub_tuple = (onevotes, twovotes)
    print(pub_tuple)
    return pub_tuple

pub_tuple отлично печатает в retrieve_pub_vote_summary. Но это не похоже на go результатов. Я получаю сообщение «NameError: имя pub_tuple не определено»

1 Ответ

1 голос
/ 09 мая 2020

У вас 2 ошибки в коде:

def results():                                          # added ()
    publication = "nytimes"
    pub_tuple = retrieve_pub_vote_summary(publication)  # assign the result
    print(pub_tuple)                                    # now pub_tuple is defined the line above


##############################################
def retrieve_pub_vote_summary(publication):
    onevotes = 1
    twovotes = 2
    pub_tuple = (onevotes, twovotes)
    print(pub_tuple)
    return pub_tuple


results()   # call results

Теперь он возвращает

(1, 2)
(1, 2)

pub_tuple в retrieve_pub_vote_summary is a локальная переменная внутри retrieve_pub_vote_summary. Вот почему его не удалось распечатать, и вы получили ошибку.

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