python中带变量的新行

2024-04-26 17:48:14 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在print函数中使用"\n"时,在下面的代码中会出现语法错误

from itertools import combinations
a=[comb for comb in combinations(range(1,96+1),7) if sum(comb) == 42]
print (a "\n")

有没有办法在每个组合中添加新行?


Tags: 函数代码infromimportforifrange
3条回答

print函数已经为您添加了一个换行符,因此如果您只想打印后跟一个换行符的内容,请执行(由于这是Python 3,所以必须使用parens):

print(a)

如果目标是打印a的元素,每个元素由新行分隔,则可以显式循环:

for x in a:
    print(x)

或者滥用star解包将其作为单个语句执行,使用sep将输出拆分为不同的行:

print(*a, sep="\n")

如果您希望在输出之间有一个空行,而不仅仅是换行符,请在前两个选项中添加end="\n\n",或者在最后一个选项中将sep更改为sep="\n\n"

这对你有用:

我在我的例子中使用了1,2…6和2个长度为7的元组。

from itertools import combinations
a=["{0}\n".format(comb) for comb in combinations(range(1,7),2) if sum(comb) == 7]

print(a)
for thing in a:
    print(thing)

输出

['(1, 6)\n', '(2, 5)\n', '(3, 4)\n']
(1, 6)

(2, 5)

(3, 4)

两种可能性:

print "%s\n" %a
print a, "\n"

相关问题 更多 >