PYTHON Здравствуйте, не очень понял логику программы, почему локальное x не сменилось и получаем " локальное x сменилось на 2",ведь использовано global и я ему присвоил 5.
def func_1():
x=2
print('x равно',x)
def func_2():
global x
x=5
func_2()
print('Локальное x смнилочь на',x)
func_1()
print (x)
Выводит:
x равно 2
Локальное x смнилочь на 2
5
Ответы на вопрос
Ответил vlajong
0
весь прикол в том что он смотрит дальше чем func_1 он изменяет а в твоем случаи инициализирует x и его меняет а твою переменую в теле func_1 не трогает в этом можно убедится перед global x напиши print(x) и посмотри чему он равен он тебе выдаст ошибку так как до функции ты не объявлял x
Ответил vlajong
0
весь прикол в том что он смотрит дальше чем func_1 он изменяет а в твоем случаи инициализирует x и его меняет а твою переменую в теле func_1 не трогает в этом можно убедится перед global x напиши print(x) и посмотри чему он равен он тебе выдаст ошибку так как до функции ты не объявлял x
Ответил vlajong
0
а чтоб изменить тот x тебе проше сделать функцию инкремент
Ответил davidbutaev1233
0
Спасибо.
Ответил vlajong
0
все программирование сводится к выводу каждого шага в консоль)
Ответил davidbutaev1233
0
=)
Новые вопросы