Een nieuwe regel toevoegen aan het bestand

Ik vraag me af hoe je een nieuwe regel toevoegt telkens wanneer de lijst de grootte van het dambord heeft bereikt (8). Hier is mijn code tot nu toe. Het werkt, maar ik wil om de 8 tekens een nieuwe regel plaatsen.

 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)
0

5 antwoord

Gebruik

if row_index % 8 == 0:
    # put newline
2
toegevoegd
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)
1
toegevoegd

Je zou kunnen opsommen,

Bijvoorbeeld,     CONST_SIZE = 8

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

Hiermee wordt een nieuwe regel toegevoegd wanneer u 8 items naar het bestand hebt geschreven.

0
toegevoegd
cnt = 0 
for item in pieceList:
    for char in item:
       outputFile.write("%s" %char)
       cnt += 1
       if cnt == 8:
           outputFile.write("\n")
           cnt = 0
0
toegevoegd

Bedoel je dat je newline na elke rij wilt toevoegen? Waarom niet toevoegen

pieceRow.append("\n")

voor

pieceList.append(pieceRow)
0
toegevoegd