Я пытаюсь создать проект, в котором я могу ввести ввод рецепта и сколько партий этого конкретного рецепта затем сложить все одинаковые ингредиенты, которые мне понадобятся.У меня будет около 100+ рецептов на выбор.Что было бы лучшим способом сделать это без использования 100+ операторов elif.
from collections import Counter
c=Counter({})
def format():
for i in c:
print(i,round(c[i],2))
def multiply(dict, amount):
for key in dict:
dict[key] *= amount
c.update(dict)
def make():
global c
while True:
my_input = input('choose formual : ')
if my_input == 'done':
break
elif my_input == 'recipe1':
batches=float(input('how many : '))
multiply(recipe1, batches)
elif my_input == 'recipe2':
my_input=float(input('how many : '))
multiply(recipe2, batches)
else:
'no fomula with that name. type done if you are finished. '
recipe1={'eggs':2,'milk':37, 'sugar':12}
recipe2={'eggs':3,'milk':14.5, 'sugar':8, 'flour':14.6}
make()
format()
Так что, скажем, если бы я вызвал recipe1 в 3 партии и recipe2 в 5 партиях, мой вывод будет
eggs 15.0
milk 154.5
sugar 60.0
flour 43.8
Это работает, но не очень эффективное кодирование, кто-нибудь может подсказать мне лучший способ выбрать эти рецепты?Я использую Python только около полутора месяцев, так что все еще довольно плохо знаком со всем.заранее спасибо!