Бариста - Python

Помогите с решением задачи:

Надо написать функцию choose_coffee(preference1, preference2,..., preferenceN), которая возвращает напиток, который можно приготовить из имеющихся продуктов (ingredients). На вход функция принимает заранее неизвестное количество предпочтений посетителя. Все напитки перечислены в порядке убывания предпочтений и гарантированно не повторяются. Бариста готовит наиболее предпочитаемый напиток из доступных.

Код:

ingredient = {'Эспрессо': [1, 0, 0], 'Капучино': [1, 3, 0], 'Маккиато': [2, 1, 0] \
              'Кофе по-венски': [1, 0, 2], 'Латте Маккиато': [1, 2, 1], 'Кон Панна': [1, 0, 1]}


def choose_coffee(preferences):
    for i in preferences:
        if ingredient[i][0] <= ingredients[0] and ingredient[i][1] <= ingredients[1] \
                and ingredient[i][2] <= ingredients[2]:
            ingredients[0] -= ingredient[i][0]
            ingredients[1] -= ingredient[i][1]
            ingredients[2] -= ingredient[i][2]
            return i
    return 'К сожалению, не можем предложить Вам напиток'
    ingredients = []

./solution.py:1:83: E502 обратный слеш избыточен в скобках
./solution.py:2:30: E999 SyntaxError: неверный синтаксис
Код не соответствует стандарту PEP8

Ответы (1 шт):

Автор решения: cauf

В словаре

ingredients = {'Эспрессо': [1, 0, 0], 'Капучино': [1, 3, 0], 'Маккиато': [2, 1, 0] \
              'Кофе по-венски': [1, 0, 2], 'Латте Маккиато': [1, 2, 1], 'Кон Панна': [1, 0, 1]}

использован старый синтаксис разделения строки кода. Сейчас слеши внутри скобок в последовательности избыточны. Это причина первого сообщения об ошибке

Так же вы забыли добавить запятую между элементами 'Маккиато' и 'Кофе по-венски'. Слеш не разделяет элементы последовательности, а только указывает на то, что следующая строка является продолжением текущей.

Рекомендую использовать подобный синтаксис для определения полсдеовательностей и/или структур:

ingredients = {
    'Эспрессо': [1, 0, 0], 
    'Капучино': [1, 3, 0], 
    'Маккиато': [2, 1, 0],
    'Кофе по-венски': [1, 0, 2], 
    'Латте Маккиато': [1, 2, 1], 
    'Кон Панна': [1, 0, 1]
}
→ Ссылка