Необходимо помочь с написание кода на 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 секунд