@dert2313

Почему не работает функция?

def print_shopping_list(dish1 , dish2):
    ready_list = set(dish1.keys()).union(set(dish2.keys()))
    for dish in ready_list:
        if dish in (dish1 and dish2):
            a = dish1[dish] + dish2[dish]    
            print(dish + ': ' + str(a))
        elif dish in dish1:
            print(dish + ': ' + str(dish1[dish]))
        else:
            print(dish + ': ' + str(dish2[dish]))
    
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)

Ошибка:
Traceback (most recent call last):
File "main.py", line 27, in
print_shopping_list(pizza, salad)
File "main.py", line 8, in print_shopping_list
a = (dish1[dish]) + (dish2[dish])
KeyError: 'листья салата, кг'
  • Вопрос задан
  • 325 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
23 апр. 2024, в 19:21
300 руб./за проект
23 апр. 2024, в 19:05
15000 руб./за проект
23 апр. 2024, в 19:01
7000 руб./за проект