Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 31, 2017 22:13:15

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

paint в python {нужна помощь}

InFocus
Правильно. Теперь добавьте, чтобы при нажатии этой кнопки менялся какая-нибудь внешняя переменная. Например, is_bind = True менялась на False

Офлайн

#2 Янв. 31, 2017 22:13:18

InFocus
Зарегистрирован: 2017-01-31
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

paint в python {нужна помощь}

4kpt_IV
У Вас там все неправильно. И отступы и вообще все почти…Вставляйте код в теги code. Иначе ничего понять нельзя.

понял, не знал как вставлять, исправился)

Офлайн

#3 Янв. 31, 2017 22:15:55

InFocus
Зарегистрирован: 2017-01-31
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

paint в python {нужна помощь}

4kpt_IV
is_bin
 is_bind=True
print(is_bind)
def fill(event):
    drawing_area.configure(background="black")
    s_bind=False
    print(is_bind)

отступ у is_bind=True не правильный, не знаю как исправить.

Отредактировано InFocus (Янв. 31, 2017 22:20:08)

Офлайн

#4 Янв. 31, 2017 22:21:09

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

paint в python {нужна помощь}

Оно не будет работать
Потому как создаст локальную переменную is_bind внутри функции. И не поменяет внешнюю, гобальную. Это одно и то же, что написать.

 #
is_bind=True
def fill(event):
    drawing_area.configure(background="black")
    local_s_bind=False
    print(local_is_bind)

При этом сколько не меняй local_is_bind, глобальная все равно не изменится
Понятно? Если понятно, тогда поправьте свой код.

Офлайн

#5 Янв. 31, 2017 22:23:21

InFocus
Зарегистрирован: 2017-01-31
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

paint в python {нужна помощь}

4kpt_IV
онятно, тогда попра

Ошибочка в коде, сразу увидел.

Отредактировано InFocus (Янв. 31, 2017 22:24:22)

Офлайн

#6 Янв. 31, 2017 22:25:45

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

paint в python {нужна помощь}

Хорошо. Вы думаете он изменил внешнюю is_bind? Нет. Он создал переменную is_bind внутри функции и не стал менять внешнюю. Внешняя после выполнения так и останется False.

Отредактировано 4kpt_IV (Янв. 31, 2017 22:26:05)

Офлайн

#7 Янв. 31, 2017 22:27:18

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

paint в python {нужна помощь}

Ну не знаю куда проще. Что вернет этот код?

 #
a = False
def change_a():
    a = True
change_a()
print(a)

Офлайн

#8 Янв. 31, 2017 22:28:30

InFocus
Зарегистрирован: 2017-01-31
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

paint в python {нужна помощь}

4kpt_IV
добавьте, чтобы при нажатии этой кнопки менялся какая-нибудь внешняя переменная. Например, is_bind = True менялась на False
Почему нельзя связаться с глобальной is_bind ?

было бы логично на самом деле.

Офлайн

#9 Янв. 31, 2017 22:33:18

InFocus
Зарегистрирован: 2017-01-31
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

paint в python {нужна помощь}

4kpt_IV
Ну не знаю куда проще. Что вернет этот код?
False, так как a=True была задана внутри функции

Отредактировано InFocus (Янв. 31, 2017 22:35:55)

Офлайн

#10 Янв. 31, 2017 22:36:32

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

paint в python {нужна помощь}

Аллелуйя

 #
is_bind=True
print(is_bind)
def fill(event):
    drawing_area.configure(background="black")
    is_bind=False
    print(is_bind)

А с чего Вы взяли, что здесь изменяете глобальную??? Повторюсь еще раз. Исправьте код.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version