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" % "Такой банкноты не существует.")