From e5abc1fe99340b979b18864d978179f71fe8f5c5 Mon Sep 17 00:00:00 2001 From: vlapa Date: Sat, 13 Jun 2026 20:33:26 +0300 Subject: First --- ...273\320\272\320\260 \320\275\320\260 Python.md" | 156 +++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 "PYTHON/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\260-\320\275\320\260\320\277\320\276\320\274\320\270\320\275\320\260\320\273\320\272\320\260 \320\275\320\260 Python.md" (limited to 'PYTHON/Программа-напоминалка на Python.md') diff --git "a/PYTHON/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\260-\320\275\320\260\320\277\320\276\320\274\320\270\320\275\320\260\320\273\320\272\320\260 \320\275\320\260 Python.md" "b/PYTHON/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\260-\320\275\320\260\320\277\320\276\320\274\320\270\320\275\320\260\320\273\320\272\320\260 \320\275\320\260 Python.md" new file mode 100644 index 0000000..d0c28e1 --- /dev/null +++ "b/PYTHON/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\260-\320\275\320\260\320\277\320\276\320\274\320\270\320\275\320\260\320\273\320\272\320\260 \320\275\320\260 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 -- cgit v1.2.3