当一个元组可以完成这项工作时,没有必要使用字典。您可以使用它们在列表中的位置作为索引,而不是将它们用作索引。在>>> days = (('first', 'A Partridge in a Pear Tree'),
('second', 'Two Turtle Doves'),
('third', 'Three French Hens'),
('fourth', 'Four Calling Birds'),
('fifth', 'Five Golden Rings'),
('sixth', 'Six Geese a Laying'),
('seventh', 'Seven Swans a Swimming'),
('eighth', 'Eight Maids a Milking'),
('ninth', 'Nine Ladies Dancing'),
('tenth', 'Ten Lords a Leaping'),
('eleventh', 'Eleven Pipers Piping'),
('twelfth', '12 Drummers Drumming'))
>>> daynum = int(input('What day of Christmas is it? '))
... for i in range(daynum - 1, -1, -1):
... if i == daynum - 1:
... print("On the {} day of Christmas my true love gave to me: ".format(days[i][0]))
... if i == 0 and daynum != 1: # if it's the first day and there isn't only 1 day
... print("And ", end='')
... print(days[i][1])
What day of Christmas is it? 4
On the fourth day of Christmas my true love gave to me:
Four Calling Birds
Three French Hens
Two Turtle Doves
And A Partridge in a Pear Tree