2016-12-20 8 views
3

現在この問題が発生しています。 まず、プログラムで何をしたいのかを説明します。リスト内のスペース

私はこのコードを持っている:

rij4 = [] 
rij3 = [] 
rij2 = [] 
rij1 = list (range(1,16)) 
print("{}".format(rij1)) 

for x in range(0,14): 
    cijfer = int((rij1[x] * rij1[x+1]) // (rij1[x+1] - rij1[x])) 
    rij2.append(cijfer) 
print(rij2) 

for x in range(0,13): 
    cijfer = int((rij2[x] * rij2[x+1]) // (rij2[x+1] - rij2[x])) 
    rij3.append(cijfer) 
print(rij3) 

はこれが印刷されているリストになりますが、数はeachoterの上に立ってする必要があります。また、[]を印刷物に残す必要があります。

したがって、たとえば、私はこれが印刷されたい:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
2 6 12 20 30 42 56 72 90 110 132 156 182 210 
3 12 30 60 105 168 252 360 495 660 858 1092 1365 

は助けをどうもありがとうございます!

+1

do 'print(" .join([str(x)for rij3]))) ')' –

答えて

8

フォーマットでビットを再生して、目的を達成することができます。あなたは、整数xを持つことができ、次のコードを使用して' '文字で埋め:

"{: 3d}".format(x) 

これは、スペースを付加することでx 3桁をパッド。またリストlを単一のスペースで区切って印刷する場合は、" ".join(l)を実行することができます。あなたはあなたが得る2を組み合わせると今:

print(" ".join(["{: 3d}".format(x) for x in rij3])) 

これは、多かれ少なかれ、あなたが(おそらくあなたがそれらをしたい改行を追加する必要があります)欲しいものです。

+0

ありがとうございました!それは動作します –

+1

良い答え、+1。あなたはフォーマットパターンをちょっと拡張することができますか、おそらく2行ですべてを行います、将来の訪問者がより簡単な時間の理解を持つように? – slezica

+0

@slezica私はそれをより詳細にするために私の答えを広げました。 –

関連する問題