19. Двенадцать дней Рождества.

(открыть в новой вкладке)

Условие:

«Двенадцать дней Рождества» (The Twelve Days of Christmas) – старая анг­лийская песня, построение которой базируется на постоянно увеличивающемся списке подарков в каждый из 12 дней Рождества. В первый день был послан один подарок, в следующий – второй и т. д. Первые три куплета песни приведены ниже. Полностью текст песни можно без труда найти в интернете.
On the first day of Christmas
my true love sent to me:
A partridge in a pear tree.

On the second day of Christmas
my true love sent to me:
Two turtle doves,
And a partridge in a pear tree.

On the third day of Christmas
my true love sent to me:
Three French hens,
Two turtle doves,
And a partridge in a pear tree.

Напишите программу, которая будет сама строить куплеты этой песенки. В программе должна присутствовать функция для отображения номера дня в первой строке каждого куплета. В качестве входного параметра она должна принимать порядковый номер дня. Далее в основной программе эта функция должна быть вызвана 12 раз подряд. Каждая строка с очередным подарком должна присутствовать в вашей программе лишь раз.
Нужно создать свою библиотеку, которая будет храниться в том же каталоге, что и эта программа. Функцию для библиотеки можно взять из предыдущего упражнения. Я назвал файл библиотеки "my_lib.py". Обращаться к нему я буду: "import my_lib".

Код:

import my_lib 


digits = range(1, 13)
lines = ("", "Two turtle doves,", "Three French hens,", "Four calling birds,", "Five golden rings", "Six geese-a-laying,", "Seven swans-a-swimming,", "Eight maids-a-milking,", "Nine drummers drumming,", "Ten pipers piping,", "Eleven ladies dancing,", "Twelve lords-a-leaping,")
count = 0
plus = str()
print()
for a, b in zip(digits, lines):
    if count == 0:
        print("On the",  my_lib.my_function(a) , "day of Christmas")        
        print("my true love sent to me:")        
        print("A partridge in a pear tree.")
        print()
    else:
        print("On the",  my_lib.my_function(a) , "day of Christmas")
        print("my true love sent to me:")
        plus = b + "\n" + plus       
        print(plus, end="")
        print("And a partridge in a pear tree.")
        print()
    count += 1 
		

Код библиотеки:

def my_function(digit):                                                                            
    our_dict = {
        1: "first",
        2: "second",
        3: "third",
        4: "fourth",
        5: "fifth",
        6: "sixth",
        7: "seventh",
        8: "eighth",
        9: "ninth",
        10: "tenth",
        11: "eleventh",
        12: "twelfth"
    }
    return our_dict[digit]