Прохожу яндекс практикум по питону, в одном из заданий необходимо перебрать 2 словаря и вывести на экран список.
Формулировка задачи:
Если вам надо 5 кг помидоров для салата и 3 кг для супа, вы сразу покупаете 8 килограммов.
Напишите функцию, которая напечатает на экран, какие продукты надо купить, и сколько их нужно. Информацию о каждом ингредиенте выводите на отдельной строке в формате: огурцы, кг: 1.5. Каждый продукт должен присутствовать в выводе только один раз.
Мой код:
# напишите здесь функцию print_shopping_list(),
# подобрав уникальные названия продуктов и сложив значения
def print_shopping_list(list1, list2):
for product, weight in list1.items():
if product in list2:
list2[product] += weight
else:
list2[product] = weight
for product, weight in list2.items():
print(product + ": " + str(weight))
pizza = {'мука, кг': 1,
'помидоры, кг': 1.5,
'шампиньоны, кг': 1.5,
'сыр, кг': 0.8,
'оливковое масло, л': 0.1,
'дрожжи, г': 50}
salad = {'огурцы, кг': 1,
'перцы, кг': 1,
'помидоры, кг': 1.5,
'оливковое масло, л': 0.1,
'листья салата, кг': 0.4}
print_shopping_list(pizza, salad)
Результат выполнения:
огурцы, кг: 1
перцы, кг: 1
помидоры, кг: 3.0
оливковое масло, л: 0.2
листья салата, кг: 0.4
мука, кг: 1
шампиньоны, кг: 1.5
сыр, кг: 0.8
дрожжи, г: 50
Яндекс ругается:
Неверное значение переменной salad.
В чем тут ошибка?