私は0のグリッドを作っています。私は新しい行に印刷するようにしたいのですが、もっと簡単な方法で印刷したいと思っています。これはこれまでの私のコードです。基本的なPythonの繰り返し印刷のアドバイスが必要です
row = []
for i in range(0,1):
row.append(" O " * 5)
print(row)
print(row)
私は0のグリッドを作っています。私は新しい行に印刷するようにしたいのですが、もっと簡単な方法で印刷したいと思っています。これはこれまでの私のコードです。基本的なPythonの繰り返し印刷のアドバイスが必要です
row = []
for i in range(0,1):
row.append(" O " * 5)
print(row)
print(row)
説明しているのは、2次元のゼロのリストを反復することです。与えられた寸法は
# The dimensions of the two-dimensional list.
columns = 5
rows = 5
# A generator to produce the two-dimensional list.
zeros = [[0 for i in range(columns)] for j in range(rows)]
# Loops through and prints each row of the two-dimensional list.
for row in zeros:
print(row)
次のように、このコードが実行される出力は次のようになります。
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
grid = [[0 for i in range(5)] for j in range(5)]
[print(row) for row in grid]
出力:
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
最初のコード行は問題ありませんが、2行目はあまり良くありません。そのようなリスト内包を使用しないでください!単に "伝統的な" for "ループを使用してください。あなたの '[行の行を表示する(行)]'は 'None'でいっぱいのリストを作成し、そのリストを投げ捨てます。それは一般的に、リストの作成者が副作用を持つのは悪いスタイルであると考えられています。リストを作成すること以外には他の効果はありません。だから、副作用のためのリストのcomp_purely_を使用し、リストを投げ捨てることは大きなノー・ノーです。 –
この説明をありがとうございます! – Jossildur
あなただけの固定のグリッドをしたい場合あなたが必要としない文字列任意のループです。文字列とリストのmultiplica文字列.join
を使用して、グリッドの行を結合して印刷します。
size = 5
row = " O " * size
grid = [row] * size
print('\n'.join(grid))
出力は
O O O O O
O O O O O
O O O O O
O O O O O
O O O O O
はありがとう、私は実際に0TTT0のアドバイスを取り、範囲(0,1)に私のために別のlooprow = [] グリッド= 5 を書いた: row.append ( "O" * 5) #print(row) grid> 0: print(row) grid = grid - 1 – Megan59781