PYTHON Здрасти, не очень сообразил логику программки, почему локальное x не

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

Задать свой вопрос
1 ответ

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

Валерия Шаперова
окей сек
Леха Атякин
https://i.paste.pics/53916975741cc163ddbc9fb601ddfb00.png
Эльвира Кудюкина
не нашел как прекрипить
Оксана Кунеркина
к коментарию
Egor Jablochnikov
так сойдет
Эмилия Крек
весь прикол в том что он глядит далее чем func_1 он изменяет а в твоем случаи инициализирует x и его меняет а твою переменую в теле func_1 не трогает в этом можно убедится перед global x напиши print(x) и посмотри чему он равен он тебе выдаст ошибку так как до функции ты не объявлял x
Вадим Тимоченко
а чтоб изменить тот x тебе проше сделать функцию инкремент
Максим Ботанцов
Спасибо.
Милана Арцимович
все программирование сводится к выводу каждого шага в консоль)
Подбелов Тимур
=)
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт