给你三个整数x,y和z,代表一个长方体的尺寸和一个整数n。在一个3D网格上打印一个由(i,j,k)给出的所有可能坐标的列表,其中i+j+k的和不等于n。Here,0<=i<=x;0<=j<=y;0<=k<=z。请使用列表理解而不是多个循环,作为学习练习。
我无法解决这个问题。有人能帮我解决这个问题吗?
发布于 2021-11-21 15:42:30
x, y, z, n = 2, 3, 4, 5
print([(i, j, k) for i in range(x + 1) for j in range(y + 1)
for k in range(z + 1) if i + j + k != n])输出:
[(0, 0, 0), (0, 0, 1), (0, 0, 2), (0, 0, 3), (0, 0, 4), (0, 1, 0), (0, 1, 1), (0, 1, 2), (0, 1, 3), (0, 2, 0), (0, 2, 1), (0, 2, 2), (0, 2, 4), (0, 3, 0), (0, 3, 1), (0, 3, 3), (0, 3, 4), (1, 0, 0), (1, 0, 1), (1, 0, 2), (1, 0, 3), (1, 1, 0), (1, 1, 1), (1, 1, 2), (1, 1, 4), (1, 2, 0), (1, 2, 1), (1, 2, 3), (1, 2, 4), (1, 3, 0), (1, 3, 2), (1, 3, 3), (1, 3, 4), (2, 0, 0), (2, 0, 1), (2, 0, 2), (2, 0, 4), (2, 1, 0), (2, 1, 1), (2, 1, 3), (2, 1, 4), (2, 2, 0), (2, 2, 2), (2, 2, 3), (2, 2, 4), (2, 3, 1), (2, 3, 2), (2, 3, 3), (2, 3, 4)]https://stackoverflow.com/questions/70055982
复制相似问题