Не работает присвоение переменной
Не присваивается 5 в конце
def func_outer():
x = 2
print('x равно', x)
def func_inner():
global x
x = 5
func_inner()
print('Локальное x сменилось на ', x)
func_outer()
Ответы (2 шт):
Автор решения: krytoy4el
→ Ссылка
Hужно заменить global на nonlocal:
def func_outer():
x = 2
print('x равно', x)
def func_inner():
nonlocal x
x = 5
func_inner()
print('Локальное x сменилось на ', x)
func_outer()
Автор решения: S. Nick
→ Ссылка
я увидел вашу задачу так:
def func_outer():
x = 2
print('x равно', x)
def func_inner():
# global x # -
x = 5
return x # +
x = func_inner() # + x =
print('Локальное x сменилось на ', x)
func_outer()