@Plotnik09

Как вывести каждое воскресенье месяца?

Всем привет !
Мне нужно написать проверку чтобы бот на aiogram каждое воскресенье месяца предлагал выполнить функцию.
Например :
Сегодня 1ое - Воскресенье месяца . Напомнить какие сделать уроки ?
->ДА
-> Математика ,география и т д


или если 2ое , 3е,4е,5ое воскресенье месяца. Напомнить во сколько идти на тренировку ?
->ДА
-> 4 часа

или если среда


Заранее благодарю за ответ !!!
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
Нам понадобятся библиотеки datetime и calendar. Для начала проверяем, сегодня воскресенье или нет с помощью datetime.today().weekday() (определяет текущий день недели). Потом нужно проверить, какое по счету это воскресенье. Если месяц начинался с понедельника, то все даты воскресений при целом делении на 7 будут сразу давать верный ответ, если начинался с любого другого дня, то к частному деления даты на 7 нужно будет прибавить 1, получив верный ответ. Поэтому с помощью calendar.weekday(datetime.date.today().year, datetime.date.today().month, 1) (возвращает день недели указанной даты, начиная с 0) проверим, какой день недели соответствовал 1 числу сегодняшнего месяца и года. Далее идем по условию:
import datetime
import calendar

date = datetime.date.today()
weekday = datetime.date.today().weekday()
count_mounth = calendar.weekday(date.year, date.month, 1)

if weekday == 6:
    if count_mounth == 0:
        print(f'Сегодня {str(date.day//7)} воскресенье месяца!!!')
    else:
        print(f'Сегодня {str(date.day//7 + 1)} воскресенье месяца!!!')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы