题目描述
考虑到他的食谱,他可以烤多少蛋糕?
编写一个函数cakes(),该函数接受食谱(对象)和可用成分(也是一个对象),
并返回 Pete 可以烘烤的最大蛋糕数(整数)。
为简单起见,数量没有单位(例如,1 磅面粉或 200 克糖只是 1 或 200)。
对象中不存在的成分可视为 0。
不能改变函数的接收值,此时结果为2
需要您
在此基础上改进一下,主要是不知道两个字典的顺序不一致怎么办
相关代码
def cakes(recipe, available):
a = list(zip(recipe,available))
print(a)
recipe,available = list(recipe.values()),list(available.values())
m = recipe.index(max(recipe))
if len(recipe) > len(available):
return 0
res = available[m] // recipe[m]
for y in recipe[1:]:
x = [z-y*res for z in available[1:]]
for i in x:
if i >= 0:
return res
if i < 0:
res -= 1
print(cakes({"flour": 500, "eggs": 1,"sugar": 200}, {"flour": 1200, "sugar": 1200, "eggs": 5, "milk": 200}))