Задать вопрос
@Yarior_rus

Как вывести название дня недели последнего дня текущего месяца?

Дано условие:

Выведите в консоль название дня недели последнего дня текущего месяца.

Попробовал вывести последний день месяца:

from datetime import datetime
import calendar

year = int(input("Введите год: "))
month = int(input("Введите месяц: "))

last_day = calendar.monthrange(year, month)

print(last_day)

При запросе 2025 год и месяц май выдает кортеж (3, 31).
3 день недели последний, и 31 день в месяце.
А вот как ему название присвоить...
Через datetime не получается, так как strftime для строкового типа.
В строку кортеж вроде получалось перевести, и тип обозначался как строковый, а только datetime всё равно его не берёт.
В общем подскажите, как решить сию задачу.
  • Вопрос задан
  • 196 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
0xD34F
@0xD34F
last_day = calendar.monthrange(year, month)

При запросе 2025 год и месяц май выдает кортеж (3, 31)
3 день недели последний, и 31 день в месяце.

Будет круто, если вы заведёте себе привычку читать документацию

а) Внимательно, а не одним глазом наискось - номер дня недели выдаётся не последний, а первый
б) Чуть дальше, чем о той штуке, что первой пришла на ум - в calendar есть инструменты, решающие вашу задачу:

days_in_month = calendar.monthrange(year, month)[1]
last_weekday_number = calendar.weekday(year, month, days_in_month)
last_weekday_name = calendar.day_name[last_weekday_number]
Ответ написан
Комментировать
Lord_of_Rings
@Lord_of_Rings Куратор тега Python
Дунадан - северный странник. Злой, но очень добрый
import datetime
import calendar

today = datetime.date.today()
last_day = calendar.monthrange(today.year, today.month)[1]
last_date = datetime.date(today.year, today.month, last_day)
print(last_date.strftime('%A'))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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