Форум сайта python.su
Есть задачка с такими условиями:
“Давайте создадим гадательный класс!
Ваша задача создать класс (или несколько с классом-родителем и подклассами) так, чтобы можно было получить предсказание как в шаре судьбы (есть такой шар, если его потрясти, в окошке появляется фраза да/нет/возможно/спросите позже/ и т.д.).
Помните, что шар судьбы не может давать ответы сразу, ему нужно несколько секунд на размышления.”
Хотел использовать проверку нажатия кнопки Enter.
Написал:
import keyboard a = input() if a == keyboard.is_pressed('enter'): print('egg') #это просто для проверки
Офлайн
MagentaIceberg оно не так работает.
import keyboard while True: if keyboard.is_pressed('enter'): print('egg') #это просто для проверки
[code python][/code]
Отредактировано PEHDOM (Апрель 19, 2021 17:37:56)
Офлайн
PEHDOMо, спасибо!) как всегда признателен!) Единственно вот это предложение не понял:
MagentaIceberg оно не так работает.
PEHDOMИ момент с бесконечным циклом не понял, ведь если ввести один раз enter - он сразу выдаёт бесконечно print. Вот так:
запускать в консоли, выходить контрол+с
Отредактировано MagentaIceberg (Апрель 20, 2021 14:25:30)
Офлайн
MagentaIcebergНу поскольку там бесконечный цикл,без штатной возможности выхода, то запуск в IDE приведет к тому что для завершения нужно будет завершать процесс python-а
Единственно вот это предложение не понял:
MagentaIcebergоно не беконечно выдает, а пока ентер нажат, как отпустите так и перестанет. Функция жи называется is_pressed (а_нажат_ли) вот оно и проверяет кадый виток цикла, если нажата то печатает “egg” . Дальше все зависит от логики вашей программы, можете при срабатывании условия вызывать команды\процедуы\функции и выходить из цикла, а можете еще что делать..
И момент с бесконечным циклом не понял, ведь если ввести один раз enter - он сразу выдаёт бесконечно print. Вот так:
[code python][/code]
Отредактировано PEHDOM (Апрель 20, 2021 16:54:31)
Офлайн
PEHDOMспасибо! НО всё равно почему-то у меня в Atom я нажал один раз на скрине, а он мне такой результат в интерпретаторе/
Офлайн
MagentaIcebergкомпутер он тупой, он не знает что такое “нажал один раз”, Мы в цикле условно миллион раз в секунду спрашиваем “нажата ли кнопка ентер”, соответственно компутер нам чесно миллион раз в секунду отвечает. Это для вас вы ее один раз нажали и отпустили, для компутера она была в состоянии “нажата” пару сотен микросекунд, соовтевенно каждую миросекунду, пока кнпка в состоянии “нажата” он вам согласно вашей прогрмме и печатает “egg”.
в Atom я нажал один раз на скрине, а он мне такой результат в интерпретаторе/
[code python][/code]
Офлайн
PEHDOMкайф, спасибо за объяснение!
Офлайн