Не могу понять код, прошу о помощи

Есть условие задачи: В холодильнике 99 бутылок кваса. Возьмём одну и выпьем. Осталось 98 бутылок кваса. В холодильнике 98 бутылок кваса. Возьмём одну и выпьем. Осталось 97 бутылок кваса. ... В холодильнике 92 бутылки кваса. Возьмём одну и выпьем. Осталась 91 бутылка кваса. ...

Последний куплет заканчивается нулём бутылок. Не забывайте склонять бутылки по правилам русского языка.

import pymorphy2

i = 99
w = pymorphy2.MorphAnalyzer().parse('бутылка')[0]

while i:
    print('В холодильнике', i, w.make_agree_with_number(i).word, 'кваса.\nВозьмём одну и выпьем.')
    i -= 1
    if i % 10 == 1 and i != 11:
        o = 'Осталась'
    else:
        o = 'Осталось'
    print(o, i, w.make_agree_with_number(i).word, 'кваса.')

Вот, код написан, но я немного не понимаю, почему он написан именно так. Хотелось бы чтобы кто-то объяснил это


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