Как можно избавиться от проблемы, что переменная не определена? Спасибо!

def a1():
    x = a + 10
    print(x)

def b1():
    a = 10

b1()
a1()

Как можно избавиться от проблемы, что a не определено? Спасибо!


Ответы (1 шт):

Автор решения: Сергей

Прочитайте в учебнике про области видимости обязательно. И про функции подробно.

Вариант 1 (очень плохой, никогда так не делайте без очень веской причины):

def a1():
    x = a + 10
    print(x)

def b1():
    global a
    a = 10

b1()
a1()

Вариант 2 (получше):

def a1():
    x = a + 10
    print(x)

def b1():
    a = 10

b1()
a = 5
a1()

Вариант 3 (поближе к вашей идее):

def a1():
    x = a + 10
    print(x)

def b1():
    a = 10
    return a

a = b1()
a1()

Вариант 4 (шутливый):

def a1():
    a = 7
    x = a + 10
    print(x)

def b1():
    a = 10

b1()
a1()
→ Ссылка