PYTHON Здравствуйте, не очень понял логику программы, почему локальное x не сменилось и...

0 голосов
78 просмотров

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 смнилочь на 25


Информатика (35 баллов) | 78 просмотров
Дан 1 ответ
0 голосов

весь прикол в том что он смотрит дальше чем func_1 он изменяет а в твоем случаи инициализирует x и его меняет а твою переменую в теле func_1 не трогает в этом можно убедится перед global x напиши print(x) и посмотри чему он равен он тебе выдаст ошибку так как до функции ты не объявлял x

(595 баллов)
0

окей сек

0
0

не нашел как прекрипить

0

к коментарию

0

так сойдет

0

весь прикол в том что он смотрит дальше чем func_1 он изменяет а в твоем случаи инициализирует x и его меняет а твою переменую в теле func_1 не трогает в этом можно убедится перед global x напиши print(x) и посмотри чему он равен он тебе выдаст ошибку так как до функции ты не объявлял x

0

а чтоб изменить тот x тебе проше сделать функцию инкремент

0

Спасибо.

0

все программирование сводится к выводу каждого шага в консоль)

0

=)