Форум сайта python.su
Здравствуйте. Сразу поясню, что на форуме впервые, поэтому простите, если как-то некорректно задаю вопрос, но постараюсь объяснить максимально просто.
Я собирраюсь написать простую программу Pomodoro. Суть проста: запускается таймер на определенное время (c помощью функции sleep в цикле), после чего повторно другой и так далее. Эту часть кода я написал без проблем. Но мне нужно, чтобы появилась возможность ставить этот таймер на паузу, например, вводом слова “Pause” (приложение будет работать в консоли).
Я придумал такое решение, но не уверен, что оно реализуемое, а тем более, что оно наиболее подходящее. Сам таймер является циклом while, которому передается ранее добавленная в код переменная (допустим pause). Если значение переменной True, то цикл выполняется, соответственно, таймер работает. Теперь мне нужно сделать так, чтобы во врмея выполнения самого цикла была возможность поменять значение переменной pause на False, чтобы таймер стал на паузу (такое вообще возможно?)
Я также знаю, что в Python есть такие понятия как многопоточность, многопроцессорность и что-то этому подобное. Я прочитал много тематических глав книг по программированию, но своего случая так и не нашел, а вдаваться в скрупулезное изучение этой темы пока еще не готов (многое следует узнать перед этим).
Помогите, пожалуйста. Достаточно будет просто меня направить в нужное направление, чтобы я понимал, где искать ответы.
Отредактировано LUPER (Июнь 29, 2022 04:33:24)
Офлайн
LUPERЭто для чего нужно?
Я собирраюсь написать простую программу Pomodoro.
Отредактировано py.user.next (Июнь 29, 2022 09:49:15)
Офлайн
Нужна реализация именно на Python, в будущем планирую перенести это программу на рельсы Телеграм-бота. Считаю, что это неплохой тренинг, так как с ботами раньше не сталкивался, а программа в действительности очень простая.
Офлайн
LUPERКонечно возможно. Но если вам по делу надо, то учите как это делается в GUI программах или при помощи asyncio. при помощи sleep и многопоточности будет уродливо и неэффективно.
(такое вообще возможно?)
Офлайн