查找 i+j+k 与 n 不同的三元组列表的 Python 程序

假设我们有三个数字 i、j 和 k 以及另一个数字 n。我们必须找到 i+j+k 与 n 不同的所有三元组 (i, j, k) 的列表。我们将不得不使用列表理解策略来解决这个问题。

所以,如果输入像 i = 1, j = 1, z = 2 和 n = 3,那么输出将是 [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 2] ]

示例

让我们看看以下实现以获得更好的理解 -

def solve(i, j, k, n):

    arr = [[x, y, z] for x in range(i+1) for y in range(j+1) for z in range(k+1) if x+y+z != n]

    return arr

i = 1

j = 1

k = 2

n = 3

print(solve(i, j, k, n))

输入

1, 1, 2, 3
输出结果
[[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 2]]

以上是 查找 i+j+k 与 n 不同的三元组列表的 Python 程序 的全部内容, 来源链接: utcz.com/z/353562.html

回到顶部