print
関数で"\n"
を使用すると、次のコードで構文エラーが発生します。
from itertools import combinations
a=[comb for comb in combinations(range(1,96+1),7) if sum(comb) == 42]
print (a "\n")
各組み合わせに新しい行を追加する方法はありますか?
print
関数はすでに改行を追加しているので、印刷してから改行を続ける場合は、次のようにします(Python 3)であるため、parensは必須です)。
print(a)
a
の要素をそれぞれ改行で区切って出力することが目的の場合は、次のいずれかを明示的にループできます。
for x in a:
print(x)
または、スターアンパックを悪用して単一のステートメントとして実行し、sep
を使用して出力を異なる行に分割します。
print(*a, sep="\n")
改行だけでなく、出力間に空白行が必要な場合は、最初の2つにend="\n\n"
を追加するか、最後のオプションとしてsep
をsep="\n\n"
に変更します。
2つの可能性:
print "%s\n" %a
print a, "\n"
過去の私にとっては、print( "\ n"、a)のようなものが機能します。
これはあなたのために働くでしょう:
私の例では1,2 ... 6を使用し、合計が7の2つの長さのタプルを使用しました。
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)