OxGen
@OxGen
Недопрограммист

Как упростить и уменьшить код?

Добрый день! Начал обучение python и при решение одной задачи, получается очень многострочный код. Какими способами его можно уменьшить или что необходимо использовать, что бы не писать многострочные условия с if'ами?
Сам код:
# Написать программу с ветвящимся условием, которая будет описывать диалог продавца фастфуда и клиента.
# Клиент заказывает одно из трёх блюд: шаурма, самсы, пирожки. После выбора продавец спрашивает, с какой
# начинкой блюдо: для шаурмы - мясо или курица, для самс - мясо, курица, сыр, для пирожков - картошка
# или капуста. В конце продавец спрашивает, сколько штук, нужно ли подогревать, что клиент будет
# пить: чай, кофе, колу, минералку.
# Результатом должна быть строка: "Вы заказали: <текст заказа>.",
# где вместо <текст заказа> программа подробно напишет, что именно заказал клиент.
print('Заказывайте: шаурма-1, самсы-2, пирожки-3')
a = int(input())
if a == 1:
  print('Хорошо, с чем вам шаурму: мясо-1, курица-2')
  eat = int(input())
  if eat == 1:
    first = 'Шаурма с мясом'    
  if eat == 2:
    first = "Шаурма с курицей"
    print('Что вы будите пить:чай-1, кофе-2, колу-3, минералку-4 ')
    drink = int(input())
    if drink == 1:
      second = 'Чай'
      print("Вы заказали: %s and %s" % (first, second))
    if drink == 2:
      second = 'кофе'
      print("Вы заказали: %s and %s" % (first, second))
    if drink == 3:
      second = 'кола'
      print("Вы заказали: %s and %s" % (first, second))
    if drink == 4:
      second = 'минералка'
      print("Вы заказали: %s and %s" % (first, second))
  • Вопрос задан
  • 302 просмотра
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Весь код писать лень. Вот часть кода, чтобы была понятна идея:
>>> DRINK = {'1': 'чай', '2': 'кофе', '3': 'кола', '4': 'минералка'}
>>> zakaz = {'dish': 'Шаурма', 'addition': 'курицей'}
>>> my_drink = '3'
>>> zakaz['drink'] = DRINK.get(my_drink, 'без напитка')
>>> print('Вы заказали: {dish} c {addition} and {drink}'.format(**zakaz))
Вы заказали: Шаурма c курицей and кола


Остальное сделайте по образу и подобию.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@barolina
turn coffee into code
1 завести словари:
словарь: еды
словарь напитков

2 получение значения по ключу
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы