11. Портреты на банкнотах (в коде есть строки из следующих тем: "словари, циклы, кортежи").

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

Условие:

Во многих странах существует традиция помещать портреты своих бывших политических лидеров или других выдающихся личностей на банкноты. Приведены номиналы банкнот США с изображенными на них людьми:
- Джордж Вашингтон - $1
- Томас Джефферсон - $2
- Авраам Линкольн - $5
- Александр Гамильтон - $10
- Эндрю Джексон - $20
- Улисс Грант - $50
- Бенджамин Франклин - $100
Напишите программу, которая будет запрашивать у пользователя номинал банкноты и отображать на экране имя деятеля, портрет которого размещен на соответствующем денежном знаке. Если банкноты введенного номинала не существует, должно выводиться сообщение об ошибке.

Код:

banknotes = {
    "Джордж Вашингтон": "$1", 
    "Томас Джефферсон": "$2",
    "Авраам Линкольн": "$5",
    "Александр Гамильтон": "$10",
    "Эндрю Джексон": "$20",
    "Улисс Грант": "$50",
    "Бенджамин Франклин": "$100"
}
try:                                                                                             # Введём этот блок для того, чтобы сделать проверку на ввод не цифр
    money = int(input("%100s" % "Введите наименование банкноты (1, 2, 5, 10, 20, 50, 100): "))
except:
    print("%99s" % "Ввод был с ошибкой.")

a = True                                                                                         # Переменная изменится, если купюра будет существовать.  
for i in banknotes.items():                                                                      # Переберём значения словаря, в котором каждый элемент это кортеж из ключа и его значения
    if money == int(i[1][1::]):                                                                  # Проверим, существует ли банкнота.
        print("%99s" % (i[0]+"."))                                                               # В случае успеха выведем на печать президента.
        a = False                                                                                # Переменная меняется, если купюра существует.
if a:                                                                                            # Если переменная осталась True, выводится, что такой купюлы нет.
    print("%99s" % "Такой банкноты не существует.")