Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 May 05

OM

Oleg Makarikhin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
это вообще какая задача?
источник

VS

Vyacheslav Shubenkov in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
#Вопрос

Пушка.

1) Создаем три события в модуле main:

   gun = Gun(canv, WIDTH, HIGHT)

   canv.bind('<Motion>', gun.targetting)
   canv.bind('<Button-1>', gun.fire_on)
   canv.bind('<ButtonRelease-1>', gun.fire_end)

2)    Запускаем выстрел и увеличиваем power_up пока не наступит событие отжатия кнопки. Событие  canv.bind('<ButtonRelease-1>', gun.fire_end) определено в main и должно менять переменную self.f_on = 0 (делать False0

def fire_on(self, event):
       self.f_on = 1
       print(self.f_on)
       while self.f_on:
           self.power_up()
           time.sleep(0.5)
           print(self.f2_power, self.f_on)
       print("Выстрел")

3)     Событие отжатия кнопки меняет значение переменной self.f_on = 0. Я ожидаю что цикл  в fire_on должен завершится, так как self.f_on должно и изменится

def fire_end(self, event):
       self.f_on = 0
       print(self.f_on)

Но он продалжается, т.е. программа не ловит событие   canv.bind('<ButtonRelease-1>', gun.fire_end) и цикл бесконечно крутит

П.с. класс Gun и его методы реализованы в отдельном модуле
источник

D9

Dingo 96 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Всем привет
источник

D9

Dingo 96 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
SQL Server Managment Studio и MS SQL Server 2017 Developer Edition устанавливаются только для x64 винды?
источник

D9

Dingo 96 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
А что делать тем кто сидит на x32?
источник

VS

Vyacheslav Shubenkov in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Vyacheslav Shubenkov
#Вопрос

Пушка.

1) Создаем три события в модуле main:

   gun = Gun(canv, WIDTH, HIGHT)

   canv.bind('<Motion>', gun.targetting)
   canv.bind('<Button-1>', gun.fire_on)
   canv.bind('<ButtonRelease-1>', gun.fire_end)

2)    Запускаем выстрел и увеличиваем power_up пока не наступит событие отжатия кнопки. Событие  canv.bind('<ButtonRelease-1>', gun.fire_end) определено в main и должно менять переменную self.f_on = 0 (делать False0

def fire_on(self, event):
       self.f_on = 1
       print(self.f_on)
       while self.f_on:
           self.power_up()
           time.sleep(0.5)
           print(self.f2_power, self.f_on)
       print("Выстрел")

3)     Событие отжатия кнопки меняет значение переменной self.f_on = 0. Я ожидаю что цикл  в fire_on должен завершится, так как self.f_on должно и изменится

def fire_end(self, event):
       self.f_on = 0
       print(self.f_on)

Но он продалжается, т.е. программа не ловит событие   canv.bind('<ButtonRelease-1>', gun.fire_end) и цикл бесконечно крутит

П.с. класс Gun и его методы реализованы в отдельном модуле
Цикл while функции def fire_on(self, event): уходит в бесконечность если ему не добавить canv.update()
источник

VS

Vyacheslav Shubenkov in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
По сути, в данной реализации canv.update() отвечает за обработку событий
источник

VS

Vyacheslav Shubenkov in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Oleg Makarikhin
задача подразумевает два цикла (один вложенный в другой).
выйти из внешнего цикла обрабатывая условие во внутренеем без goto несколько не тривиально. один из механизмов это флаг который взводится во внутреннем и проверяется во внешнем
вот тут обсуждали...
источник

ПФ

Паша Финогентов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Dingo 96
А что делать тем кто сидит на x32?
Пора бы 64 ставить
источник

D9

Dingo 96 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Паша Финогентов
Пора бы 64 ставить
оперативка не позволяет
источник

D9

Dingo 96 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Как снимут карантин пойду ноут свой заберу
источник

D9

Dingo 96 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Dingo 96
Как снимут карантин пойду ноут свой заберу
Он в другом городе остался(
источник

😍

😍 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Oleksii
poligon()😊 легких способов походу нет, начинай рисовать, как я рыбы рисовал😄
чтобы не переписывать все объекты кортежа сделал массив списка) и щас только обсчитаю как ровнее крыло нарисовать. такое решение мне кажется проще)
источник

😍

😍 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
массив списков - абсолютно другая структура данных
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
её обычно используют для, например, хранения имён пользователей на каком-то сайте
источник

😍

😍 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Кирилл Картвелишвили
массив списков - абсолютно другая структура данных
ну ты понял что я имел ввиду список([множество кортежей])
источник

😍

😍 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
)
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
мне уже поднадоела эта путаница с питоном. я понимаю, что массивом то, что встроено в питон тоже язык назвать не поворачивается, но зачем называть это списком? списки никакого отношения к тому, что в питоне не имеют.
источник

😍

😍 in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
я приравниваю слово массив = множество
источник