Необходимо помочь с написание кода на Python склоняющего слова дней, часов, минут, секунд по времени

now = datetime.today()
dm = datetime(2026, 5, 20)
meeting = dm - now
m, s = divmod(meeting.seconds, 60)
h, m = divmod(m, 60)
print(('До встречи: {} дней {} часов {} минут {} секунд'.format(meeting.days, h, m, s))) ```

Ответы (1 шт):

Автор решения: Stanislav Volodarskiy
import datetime


def decline(n, form0, form1, form2):
    form = form0
    if not (10 <= n % 100 <= 19):
        if n % 10 == 1:
            form = form1
        elif 2 <= n % 10 <= 4:
            form = form2
    return f'{n} {form}'


now = datetime.datetime.today()
dm = datetime.datetime(2026, 5, 20)
meeting = dm - now
m, s = divmod(meeting.seconds, 60)
h, m = divmod(m, 60)
print('До встречи: {} {} {} {}'.format(
      decline(meeting.days, 'дней'  , 'день'   , 'дня'    ),
      decline(h           , 'часов' , 'час'    , 'часа'   ),
      decline(m           , 'минут' , 'минута' , 'минуты' ),
      decline(s           , 'секунд', 'секунда', 'секунды')
  ))
$ python decline.py
До встречи: 681 день 6 часов 23 минуты 59 секунд
→ Ссылка