首页 > 解决方案 > 给定 6 个不同高度的块 h1, h2 。使用 3 个积木为所需高度 h1、h2 的每个塔制作 2 个塔

问题描述

elemnts=[2,2,5,6,7,3]
h1=12
h2=13


def func(elemts,a,b):
list1=[]
for i in range(0,len(elemts)):
    for j in range(i+1,len(elemts)):
        for k in range(0,len(elemts)):
            if(k not in [i,j]):
                temp=elemts[i]+elemts[j]+elemts[k]
                if(temp==h1|temp==h2):
                    list1.extend([elemts[i],elemts[j],elemts[k]])
                    return list1
list2=func(elemnts,h1,h2)

'这个函数用于查找这 3 个变量。一旦我找到任何集合,我就会返回值'

'am not getting desired result for different inputs.if the input is 
[2,2,0,0,5,6] and heights [9,6],the output is empty'

标签: pythonpython-3.x

解决方案


elemnts=[2,2,0,0,5,6]
h1=9
h2=6


def func(elemts,a,b):
list1=[]
for i in range(0,len(elemts)):
    for j in range(i+1,len(elemts)):
        for k in range(0,len(elemts)):
            if(k not in [i,j]):
                temp=elemts[i]+elemts[j]+elemts[k]
                if(temp in [h1,h2]):
                    list1.extend([elemts[i],elemts[j],elemts[k]])
                    return list1
list2=func(elemnts,h1,h2)

@arthur_currry ...如果在最后一个情况下只更改了一行。它工作正常


推荐阅读