python置换,包括重复项

2024-04-16 07:27:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经创建了一个程序,可以确定长方体的表面积与面积相等。在

from itertools import permutations

def area(l, h, w):
    return(l*h*w)

def surf_area(l, h, w):
    return(((l*h)+(l*w)+(w*h))*2)

for length, height, width in permutations(range(1,100),3):
    if area(length, height, width)== surf_area(length, height, width):
        print("length = {}, height = {}, width = {}".format(length,height,width))

这将迭代数字1-100,并将它们作为长方体的高度、长度和宽度,只返回具有相同面积和表面积的答案

这就产生了:

^{pr2}$

现在,如果你仔细观察,没有一个测量值是相同的,例如,我永远不会得到答案(不是正确的答案)

length = 3, height = 3, width = 3

因为它只迭代数字一次。我怎样才能包括这些“双重”答案?在


Tags: 答案from程序returndef数字areawidth
1条回答
网友
1楼 · 发布于 2024-04-16 07:27:28

我想你想要^{}而不是{}:

for l, w, h in itertools.product(range(1, 100), repeat=3):

这将彻底检查1-99中三个数字的所有可能组合,包括l == w == h的情况。在

一个较小的例子:

^{pr2}$

相关问题 更多 >