@vasiliy763
IT engineer

Python цикл for?

Подскажите, как происходит складывание значений в коде ниже:

def print_shopping_list(pizza, salad):

    dish = set (pizza)
    dish = dish.union(salad)

    for i in dish:
        weight = 0
        if i in pizza.keys(): weight += pizza[i]
        if i in salad.keys(): weight += salad[i]
        print (i,': ', weight, sep='')

pizza = {'мука, кг': 1,
         'помидоры, кг': 1.5,
         'шампиньоны, кг': 1.5,
         'сыр, кг': 0.8,
         'оливковое масло, л': 0.1,
         'дрожжи, г': 50}
salad = {'огурцы, кг': 1,
         'перцы, кг': 1,
         'помидоры, кг': 1.5,
         'оливковое масло, л': 0.1,
         'листья салата, кг': 0.4}
  • Вопрос задан
  • 248 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dmshar
Какой-то странный вопрос. "Складывание" происходит по законам арифметики. Цикл for выполняется столько раз, сколько у вас оказалось ингредиентов в dish.
Обнуление Веса "weight " - расположено явно не там, где ему место - а место ему ДО оператора for. Цикл for выполняется столько раз, сколько у вас оказалось ингредиентов в dish.
Для каждого ингредиента к значению текущего веса прибавляется вес добавленного продукта, причем для того блюда - пиццы или салата, которое вы задали.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы