BrydieMack
@BrydieMack

Есть ли ошибка в коде?

Прохожу яндекс практикум по питону, в одном из заданий необходимо перебрать 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.

В чем тут ошибка?
  • Вопрос задан
  • 736 просмотров
Решения вопроса 1
@Art005
Вывод правильный, но вы изменяете сам словарь с салатом, на это и наверное ругается. В итоге вышло что вам для салата нужна мука, больше помидоров и т.д.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы