x = int(input())
y = int(input())
z = int(input())
n = int(input())
for i in range( x + 1):
for j in range( y + 1):
for k in range( z + 1):
if ( ( i + j + k) != n ):
print ([ i, j, k], end = ", "])
我的输出:
[0, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [1, 1, 1],
预期产出:
[[0, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [1, 1,1]]
我如何获得双支撑?如果我对print语句进行更改,它会说编译错误
答案 0 :(得分:0)
请使用以下方法
[[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 0], [1, 1, 1]]
示例输出:
services.AddHttpClient();
答案 1 :(得分:0)
由于您要打印的内容与Python打印列表的方式完全相同,您可以创建列表,然后打印它。
使用列表推导和itertools.product:
from itertools import product
x, y, z = 1, 1, 1
n = 2
out = [[i, j, k] for i, j, k in product(range(x+1), range(y+1), range(z+1))
if i + j + k != n ]
print(out)
# [[0, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [1, 1, 1]]
答案 2 :(得分:0)
@Srivani ,您可以尝试以下代码(1行语句)来打印以逗号分隔的列表。
x = int(input()) # 1
y = int(input()) # 1
z = int(input()) # 1
n = int(input()) # 2
# One line code to print lists separated by comma (without including comma at end)
print(", ".join([str([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 ]).strip() );
»输出
[0, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [1, 1, 1]