Вот упрощенная, но более длинная версия моего текущего кода:
Код: Выделить всё
menu = {
"Drinks": [
{"name": "Cold Brew Coffee", "price": 4.50},
{"name": "Vanilla Latte", "price": 5.00},
{"name": "Caramel Mocha", "price": 5.25}
],
"Seasonal": [
{"name": "Peppermint Mocha", "price": 5.75},
{"name": "Sugar Cookie Latte", "price": 5.75}
]
}
item_number = 1
item_map = {}
for category, items in menu.items():
print(category)
print("-" * len(category))
for item in items:
print(f"{item_number}. {item['name']} ${item['price']}")
item_map[item_number] = item
item_number += 1
print()
- Цены не совпадают, когда имена товаров имеют разную длину
- Логика форматирования смешивается со структурой данных
- Я не уверен, что использование таких словарей является самым чистым подходом в долгосрочной перспективе
Концептуально я пытаюсь смоделировать меню, похожие на настоящие меню напитков в кафе, которые четко разделяют обычные и сезонные блюда, как в этом примере: https://dbrosmenu.com/
Что будет лучший способ:
- Структурировать данные меню
- Четко отформатировать выровненный вывод (без жестко запрограммированных пробелов)
- Сохранять простой для пользователей числовой выбор
Подробнее здесь: https://stackoverflow.com/questions/798 ... igned-pric
Мобильная версия