[英]How to remove the extra comma from this python code
这是我的 python 代码,最后给了我一个额外的逗号,我无法弄清楚如何解决这个问题。
代码:
x = int(input())
y = int(input())
z = int(input())
n = int(input())
print("[",end="")
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("[",end="")
print(i,end=",")
print(j,end=",")
print(k,end="")
print("]",end="")
print("",end=",")
print("]",end="")
您可以使用join
方法:
x = int(input())
y = int(input())
z = int(input())
n = int(input())
print("[", end="")
join_list = []
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:
join_list.append(f"[{i},{j},{k}]")
print(",".join(join_list), end="")
print("]", end="")
或结合理解:
x = int(input())
y = int(input())
z = int(input())
n = int(input())
print(
"["
+ ",".join(
f"[{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
)
+ "]",
end=""
)
或者使用itertools.product
而不是嵌套推导:
from itertools import product
x = int(input())
y = int(input())
z = int(input())
n = int(input())
print(
"["
+ ",".join(
"[{},{},{}]".format(*p)
for p in product(range(x + 1), range(y + 1), range(z + 1))
if sum(p) != n
)
+ "]",
end=""
)
或者先构建列表,然后将其转换为字符串并替换空格:
from itertools import product
x = int(input())
y = int(input())
z = int(input())
n = int(input())
result = [
list(p)
for p in product(range(x + 1), range(y + 1), range(z + 1))
if sum(p) != n
]
print(str(result).replace(" ", ""), end="")
append
func 用于收集
y = int(input())
z = int(input())
n = int(input())
a = []
# print("[",end="")
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):
a.append([i,j,k])
print(a)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.