对于范围(0,x + 1)中的i对于范围(0,y + 1)中的j对于范围(0,z + 1)中的k if((i + j + k))!= n print([[ i,j,k]])。这段代码出了什么问题?

时间:2019-05-26 12:43:41

标签: python-3.x

给出三个整数X,Y,Z,它们表示长方体的尺寸以及整数N。您必须在(I + J + K)of不等于N的3D网格上打印由(I,J,K)给出的所有可能坐标的列表。这是我针对此问题的代码。

x = int(input())
y = int(input())
z = int(input())
n = int(input())

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

此代码显示编译错误。请让我知道我的错误以及如何纠正它。

2 个答案:

答案 0 :(得分:1)

您应该检查python的语法。

for i in range(0,x+1):

您忘记了:

并确保它被正确识别:

x = int(input())
y = int(input())
z = int(input())
n = int(input())

for i in range(0,x+1):
    for j in range(0,y+1):
        for k in range(0,z+1):
            if((i+j+k))!=n):  //and you forgot the ")" as well
                print([[i,j,k]])

答案 1 :(得分:0)

使用列表推导。

x = int(input())
y = int(input())
z = int(input())
n = int(input())


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 )])