In [1]: import pytils In [2]: pytils.numeral.get_plural(0, u"день, дня, дней") Out[2]: '0 дней' In [3]: pytils.numeral.get_plural(2, u"день, дня, дней") Out[3]: '2 дня' In [4]: pytils.numeral.get_plural(5, u"день, дня, дней") Out[4]: '5 дней' In [5]: pytils.numeral.get_plural(1, u"день, дня, дней") Out[5]: '1 день'
UPD: если вопрос, как лучше реализовать, то можно использовать вариант из pytils
if amount % 10 == 1 and amount % 100 != 11: variant = 0 elif amount % 10 >= 2 and amount % 10 <= 4 and \ (amount % 100 < 10 or amount % 100 >= 20): variant = 1 else: variant = 2