Не можете получить доступ к переменной внутри функции? - PullRequest
0 голосов
/ 20 апреля 2020

Итак, я определил две переменные внутри функции и сделал эти переменные глобальными. Однако, когда я пытаюсь получить доступ к ним вне функции, программа возвращает: «NameError: имя 'mon_price' не определено».

Вот код для справки:

def seq_1():
    global mon_price, sun_price
    mon_price = int(input("Enter the selling price per turnip on monday morning: "))
    sun_price = int(input("Enter the sale's price per turnip on sunday: "))


x = mon_price / sun_price

1 Ответ

2 голосов
/ 20 апреля 2020

Вам нужно вызвать функцию для определения глобальных переменных. Но вам на самом деле здесь не нужны глобалы (подсказка: глобалы почти никогда не нужны):

def seq_1():
    mon_price = int(input("Enter the selling price per turnip on monday morning: "))
    sun_price = int(input("Enter the sale's price per turnip on sunday: "))
    return mon_price, sun_price


def main():
   mon_price, sun_price = seq_1()
   x = mon_price / sun_price
   print("x = {}".format(x))


if __name__ == "__main__":
    main()
...