Предмет: Информатика, автор: davidbutaev1233

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
1

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


davidbutaev1233: окей сек
davidbutaev1233: https://i.paste.pics/53916975741cc163ddbc9fb601ddfb00.png
davidbutaev1233: не нашел как прекрипить
davidbutaev1233: к коментарию
davidbutaev1233: Спасибо.
davidbutaev1233: =)
Похожие вопросы
Предмет: Математика, автор: ibrakazak
Предмет: Қазақ тiлi, автор: Аноним