2016-03-05 2 views
-1

Введение: Я использую 2 для циклов для итерации по доске 10x10, это делается для того, чтобы сохранить все позиции в текстовом файле. Я новичок в этом, поэтому мой код выглядит упрощенным.Запись на вопрос texfile. (Python3.5)

Проблема: Мне нужно напечатать новую строку в текстовом файле после каждой итерации первого цикла цикла. Фактическая часть сохранения, которую я сделал.

Ссылка на текущий и желаемый результат: http://pastebin.com/Un12u5L8

Код:

def SaveGame(Board): 

    Save_file = open('SaveFile.txt', 'w') 

    for row in range (BOARDDIMENSION): 

    for col in range (BOARDDIMENSION): 

     save = Board[row][col] 

     Save_file.write(save) 

    Save_file.close() 

Токовый выход: --D----------D----------D------BBBB--A------m--A---------A---------A-------S-A--------S------PP--S--

Желаемый результат: То же, что и выше, но после каждых 10 он делает новую линию

Я пробовал использовать \n, но получил эту ошибку:

UnicodeEncodeError: 'ascii' codec can't encode character '\uf709' in position 1: ordinal not in range(128)

Спасибо, я надеюсь, что соблюдал правила, я искал эту проблему, но не нашел того, что соответствовало моим потребностям.

+0

сообщению код, который производит ошибку – njzk2

+0

Сво точно такой же код, который был рекомендован ниже. – Padwas

+0

вы уверены, что это точно на этой линии? также, опубликуйте полную ошибку. – njzk2

ответ

0

Напишите новую линию в конце внутреннего контура.

def SaveGame(Board): 
    Save_file = open('SaveFile.txt', 'w') 
    for row in range (BOARDDIMENSION): 
     for col in range (BOARDDIMENSION): 
      save = Board[row][col] 
      Save_file.write(save) 
     Save_file.write('\n') 
    Save_file.close() 

Неясно, что board есть, это список списков, или список строк ?. Несмотря на это, лучший способ сделать это будет:

def save_game(board): 
    with open('SaveFile.txt', 'w') as save_file: 
     for row in board: 
      save_file.write('{}\n'.format(''.join(row))) 
+0

Вы * do * понимаете, что он также оставил круглые скобки в 'Save_file.close', не так ли? – zondo

+0

Спасибо за то, что он сработал, однако иногда, когда я тестирую код, я получаю то же сообщение об ошибке, что и я, как и выше, unicodeEncodeError. – Padwas

+0

@zondo: ну, я этого не замечал, но это не проблема, не так ли? Но спасибо, что указали это. – mhawke

Смежные вопросы