【发布时间】:2020-06-29 02:03:03
【问题描述】:
我必须解决大学的任务。我有 4 个给定的列表,我必须计算在某些限制下可以制作的汉堡的可能变化。
breads = ["Weissbrot", "Vollkorn", "Dinkel", "Speckbrot"]
patties = ["Wildschwein", "Rind", "Halloumi", "Aubergine"]
souces = ["Kaese", "Knoblauch", "Curry"]
toppings = ["Kopfsalat", "Bacon", "Tomate"]
到目前为止我的代码:
i = "bottom, patty, souce, topping, top"
burger = [i for bottom in breads
for top in breads
for patty in patties
for souce in souces
for topping in toppings
if bottom != top
if i != ("Speckbrot", "Aubergine", "Kaese", "Bacon", "Weissbrot")]
print(len(burger))
限制:
成品汉堡需要有结构(底部、肉饼、酱汁、顶部、顶部)。我将它保存在变量“i”下。底部和顶部必须有不同的面包。我用if bottom != top解决了这个问题。
不允许将茄子与 Speckbrot、Kaese 或培根以及 Halloumi 与 Speckbrot 或培根混合。我试图用if i != ("Speckbrot", "Aubergine", "Kaese", "Bacon", "Weissbrot") 解决这个问题,但它显然不正确。
此外,如果底部和顶部被交换并且其余部分保持不变,这将被视为 1 个汉堡而不是 2 个。我还没有计划如何解决这个问题。
对不起德语单词,如果需要我可以翻译。
在此先感谢
编辑:正确答案是 138 种变体。
【问题讨论】:
标签: python list list-comprehension