diff options
| author | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
|---|---|---|
| committer | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
| commit | e5abc1fe99340b979b18864d978179f71fe8f5c5 (patch) | |
| tree | 98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /PYTHON/Программа-напоминалка на Python.md | |
First
Diffstat (limited to 'PYTHON/Программа-напоминалка на Python.md')
| -rw-r--r-- | PYTHON/Программа-напоминалка на Python.md | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/PYTHON/Программа-напоминалка на Python.md b/PYTHON/Программа-напоминалка на Python.md new file mode 100644 index 0000000..d0c28e1 --- /dev/null +++ b/PYTHON/Программа-напоминалка на Python.md @@ -0,0 +1,156 @@ +### Установка и импорт библиотек + +Перед написанием кода нам понадобится установить библиотеку **schedule** для планирования напоминаний и **plyer** для отображения системных уведомлений Windows. Сделать это можно через **pip**. Для этого нужно перейти в терминал/командную строку, прописать **pip install schedule plyer**, нажать Enter и ждать установки. + +```bash +pip install schedule plyer +``` + +После инсталляции импортируем все необходимые библиотеки: + +```python +import schedule +import time +from plyer import notification +``` + +- **schedule** — для планирования напоминаний; +- **time** — для работы с задержками; +- **plyer** — для отображения системных уведомлений. + +### Написание кода программы-напоминалки на Python + +Первым делом создадим функцию **show_notification()**, которая будет вызывать системное уведомление. + +У функции будет присутствовать один параметр, а именно: + +- message — текст оповещения, переданный пользователем. + +```python +import schedule +import time +from plyer import notification + + +def show_notification(message): +``` + +Внутри функции через объект **notification** обратимся к методу **notify()**, чтобы создать уведомление с заголовком «Напоминание», переданным пользователем текстом и длительностью равной 10 секунд: + + +```python +import schedule +import time +from plyer import notification + + +def show_notification(message): + notification.notify( + title="Напоминание", + message=message, + timeout=10 + ) +``` + +Теперь создадим функцию **add_reminder()**, которая будет создавать напоминания. + +У функции будет присутствовать два параметра, а именно: + +- text — текст напоминания; +- reminder_time — время, в которое должно сработать напоминание. + +```python +import schedule +import time +from plyer import notification + + +def show_notification(message): + notification.notify( + title="Напоминание", + message=message, + timeout=10 + ) + + +def add_reminder(text, reminder_time): +``` + +Внутри функции будет добавляться задача в планировщик, чтобы каждый день в указанное время **reminder_time** вызывалась функция **show_notification()** с переданным текстом: + +```python +import schedule +import time +from plyer import notification + + +def show_notification(message): + notification.notify( + title="Напоминание", + message=message, + timeout=10 + ) + + +def add_reminder(text, reminder_time): + schedule.every().day.at(reminder_time).do(show_notification, message=text) + print(f"Напоминание добавлено на {reminder_time}: {text}") +``` + +Теперь добавим точку входа, внутри которой будет находиться бесконечный цикл: + +```python +import schedule +import time +from plyer import notification + + +def show_notification(message): + notification.notify( + title="Напоминание", + message=message, + timeout=10 + ) + + +def add_reminder(text, reminder_time): + schedule.every().day.at(reminder_time).do(show_notification, message=text) + print(f"Напоминание добавлено на {reminder_time}: {text}") + + +if __name__ == "__main__": + while True: +``` + +Внутри бесконечного цикла пользователю будет предложено ввести текст напоминания и время, в которое должно произойти напоминание. Далее будет идти вложенный бесконечный цикл, который ожидает выполнения напоминания. + +```python +import schedule +import time +from plyer import notification + + +def show_notification(message): + notification.notify( + title="Напоминание", + message=message, + timeout=10 + ) + + +def add_reminder(text, reminder_time): + schedule.every().day.at(reminder_time).do(show_notification, message=text) + print(f"Напоминание добавлено на {reminder_time}: {text}") + + +if __name__ == "__main__": + while True: + text = input("Введите текст напоминания: ") + reminder_time = input("Введите время (формат ЧЧ:ММ): ") + add_reminder(text, reminder_time) + print("Ожидание напоминания...") + + while True: + schedule.run_pending() + time.sleep(1) +```
\ No newline at end of file |
