Форум сайта python.su
49
InFocus
Правильно. Теперь добавьте, чтобы при нажатии этой кнопки менялся какая-нибудь внешняя переменная. Например, is_bind = True менялась на False
Офлайн
0
4kpt_IV
У Вас там все неправильно. И отступы и вообще все почти…Вставляйте код в теги code. Иначе ничего понять нельзя.
Офлайн
0
4kpt_IV
is_bin
is_bind=True print(is_bind) def fill(event): drawing_area.configure(background="black") s_bind=False print(is_bind)
Отредактировано InFocus (Янв. 31, 2017 22:20:08)
Офлайн
49
Оно не будет работать 
Потому как создаст локальную переменную is_bind внутри функции. И не поменяет внешнюю, гобальную. Это одно и то же, что написать.
# is_bind=True def fill(event): drawing_area.configure(background="black") local_s_bind=False print(local_is_bind)

Офлайн
0
4kpt_IV
онятно, тогда попра
Отредактировано InFocus (Янв. 31, 2017 22:24:22)
Офлайн
49
Хорошо. Вы думаете он изменил внешнюю is_bind? Нет. Он создал переменную is_bind внутри функции и не стал менять внешнюю. Внешняя после выполнения так и останется False.
Отредактировано 4kpt_IV (Янв. 31, 2017 22:26:05)
Офлайн
49
Ну не знаю куда проще. Что вернет этот код?
# a = False def change_a(): a = True change_a() print(a)
Офлайн
0
4kpt_IVПочему нельзя связаться с глобальной is_bind ?
добавьте, чтобы при нажатии этой кнопки менялся какая-нибудь внешняя переменная. Например, is_bind = True менялась на False
Офлайн
0
4kpt_IVFalse, так как a=True была задана внутри функции
Ну не знаю куда проще. Что вернет этот код?
Отредактировано InFocus (Янв. 31, 2017 22:35:55)
Офлайн
49
Аллелуйя
# is_bind=True print(is_bind) def fill(event): drawing_area.configure(background="black") is_bind=False print(is_bind)
Офлайн