Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Решить задачу на Python

Илья Меркулов Знаток (273), на голосовании 11 месяцев назад
def main():
drink_list = [
['Кофе', [['200мл', 150], ['300мл', 200]]]],
['Чай', [['300ml', 100]]]]

print(add_drinks(drink_list))


def add_drinks(drink_list):
new_drink = input("Введите название нового напитка: ")
for size, price in drink_list[-1][1]:
print(f"{size} - {price}")
while True:
user_input = input("Выберите объем и введите цену или введите 'done': ")
if user_input.lower() == 'done':
break
size, price = user_input.split()
drink_list[-1][1].append([size, int(price)])

drink_list.append([new_drink, [[user_input, int(size)]]])
return drink_list

main()




drink_list = [
[
'Кофе',
[
['200мл', 150],
['300мл', 200],
['350мл', 250],
]
],
[
'Чай',
[
['300мл', 100],
['350мл', 150],
]
],
]
Голосование за лучший ответ
Милана Просветленный (33051) 1 год назад
```python
def main():
drink_list = [
['Кофе', [['200мл', 150], ['300мл', 200]]],
['Чай', [['300мл', 100]]],
]

print(add_drinks(drink_list))


def add_drinks(drink_list):
new_drink = input("Введите название нового напитка: ")
for size, price in drink_list[-1][1]:
print(f"{size} - {price}")
while True:
user_input = input("Выберите объем и введите цену или введите 'done': ")
if user_input.lower() == 'done':
break
size, price = user_input.split()
drink_list[-1][1].append([size, int(price)])

drink_list.append([new_drink, [[user_input, int(size)]]])
return drink_list


if __name__ == "__main__":
main()
```

Этот код работает следующим образом:

* Функция `main()` вызывает функцию `add_drinks()` с текущим списком напитков.
* Функция `add_drinks()` сначала запрашивает у пользователя название нового напитка. Затем она печатает список размеров и цен на напитки, которые уже есть в списке. Затем пользователю предлагается выбрать размер и ввести цену для нового напитка или ввести `done` для завершения добавления напитка. Если пользователь вводит `done`, функция возвращает список напитков с добавленным новым напитком. В противном случае функция добавляет новый размер и цену к списку размеров и цен для нового напитка.

Вот пример того, как будет работать код:


>>> main()
Введите название нового напитка: Капучино
200мл - 150
300мл - 200
350мл - 250
Выберите объем и введите цену или введите 'done': 400мл 300
>>> print(drink_list)
[['Кофе', [['200мл', 150], ['300мл', 200], ['350мл', 250]], ['Капучино', [['400мл', 300]]]], ['Чай', [['300мл', 100], ['350мл', 150]]]]


Как видите, напиток `Капучино` был добавлен в список напитков с размерами и ценами `400мл 300`.

Вот ещё несколько пояснений к коду:

* Функция `add_drinks()` использует индекс `-1` для доступа к последнему элементу списка `drink_list`. Это потому, что мы предполагаем, что новый напиток будет добавлен в конец списка.
* Функция `add_drinks()` использует метод `append()` для добавления нового размера и цены к списку размеров и цен для нового напитка.

Надеюсь, это поможет!
Похожие вопросы