2011-12-06 9 views
0

リストがチェッカーボード(8)のサイズに達するたびに、改行を追加する方法が不思議です。これまでのところ、私のコードです。それは動作しますが、8文字ごとに改行を入れたいと思います。ファイルに新しい行を追加する

saveFile=input("Please enter the name of the file you want to save in: ") 
    outputFile=open(saveFile,"w") 
    pieceList=[] 
    for row_index in range (self.SIZE): 
    for column_index in range(self.SIZE): 
     pieceRow=[] 
     char=" " 
     if self.grid[row_index][column_index]==Piece(Piece.WHITE): 
      char="w" 
     elif self.grid[row_index][column_index]==Piece(Piece.RED): 
      char="r" 
     pieceRow.append(char) 
    pieceList.append(pieceRow) 
    for item in pieceList: 
     for char in item: 
      outputFile.write("%s" %char) 

答えて

1
saveFile=input("Please enter the name of the file you want to save in: ") 
    outputFile=open(saveFile,"w") 
    pieceList=[] 
    characterCounter =0 
    for row_index in range (self.SIZE): 
    for column_index in range(self.SIZE): 
     pieceRow=[] 
     char=" " 
     if self.grid[row_index][column_index]==Piece(Piece.WHITE): 
      char="w" 
     elif self.grid[row_index][column_index]==Piece(Piece.RED): 
      char="r" 
     pieceRow.append(char) 
     characterCounter++ 
     if characterCounter==8: 
      pieceRow.append("\n") 
      characterCounter=0 
    pieceList.append(pieceRow) 
    for item in pieceList: 
     for char in item: 
      outputFile.write("%s" %char) 
0
cnt = 0 
for item in pieceList: 
    for char in item: 
     outputFile.write("%s" %char) 
     cnt += 1 
     if cnt == 8: 
      outputFile.write("\n") 
      cnt = 0 
2

使用

if row_index % 8 == 0: 
    # put newline 
0

あなたは、各行の後に改行を追加したいわけですか? なぜ追加

pieceRow.append("\n") 

pieceList.append(pieceRow) 
0

あなたが列挙を使用することができ、例えば

、 CONST_SIZE = 8

for index, item in enumerate(item_list): 
    output_file.write(item) 
    if index % 8 == 0: output_file.write('\n') 

前これはファイルに8つの項目を書き込むたびに改行を追加します。

関連する問題