2016-04-12 12 views
0

stdoutに出力する必要があります(次のステップはファイルに出力されます)。以下 、forループ:Python:文字列の配列をstdoutに行単位で出力する

for i in range(0, xMax): 
    for j in range(0, yMax): 
     print arena_shape[ j + i*yMax] 
    print('\r') 

配列[]は、I = [0、XMAX]行j = [0、yMaxの]列にビルドアップ2D図形に文字、図形が含まarena_shape。 私は出力があることを期待:row iを変更する場合にのみ、私は\rへのpythonを伝えていても、私はそれが縦に表示され得る、私が期待するよう

i=0 ---------- ------ 
i=1 |     | 
     |     | 
     |     | 
     |     | 
     |     | 
     |     | 
i=xMax -------------------- 

ではなく、「水平」の最初の行(i=0, j=[0,yMax])を取得すると、これはprint("\r")命令の後に行を変更していない理由はない各column j

i=0 - 
    - 
    - 
    - 
    - 
    - 
    - 
    - 
    - 
    - 




    - 
    - 
    - 
    - 
    - 
    - 

に私は理解していません。 ご協力いただきありがとうございます。

+0

可能な重複[改行せずにPythonで印刷する方法や、内部forループを終了するときにのみ、それを印刷することをお勧め改行せずに印刷したい場合スペース?](http://stackoverflow.com/questions/493386/how-to-print-in-python-without-newline-or-space) – Chiel

+0

問題はなんですか?改行なしでPythonで印刷するには、行の最後にカンマ( '、')を付けるだけです。 – kirkpatt

+0

申し訳ありませんが、私は明確ではなかった、私は質問を編集しました。 – user123892

答えて

2

Pythonのprint関数は、常に新しい行に出力します。あなたは私はあなたが一時変数で印刷するために必要なもの格納し、あなたが

for i in range(0, xMax): 
    temp_variable = '' 
    for j in range(0, yMax): 
     temp_variable += arena_shape[ j + i*yMax] 
    print temp_variable 
+0

ありがとう、問題解決済み! – user123892

関連する問題