2016-07-06 5 views
2

Оригинальный код:Интерпретация .join()

board = [] 

for x in range(5): 
    board.append("O" * 5) 
print(board) 

Почему код печати каждый индекс в отдельной строке, когда вы добавляете это в коде выше?

board = [] 

for x in range(5): 
    board.append("O" * 5) 

def print_board(board): 
    for row in board: 
     print(" " .join(row)) 

print_board(board) 
+0

это прекрасно работает на моей машине ' 'Ооооо \ п OOOOO \ п OOOOO \ п OOOOO \ п ОООО O'' –

+0

Yea, но мне интересно, почему это новая строка, когда вы добавляете нижний код? – Dporth

+4

, потому что вы вызываете 'print()' несколько раз. Вы можете установить ['print (..., end = '')'] (https://docs.python.org/3/library/functions.html#print), чтобы избавиться от новой строки. –

ответ

0

Поскольку вы делаете печать в цикле, каждый цикл итерации через ряд, это делает новое заявление для печати на следующей строке.

Думайте об этом таким образом.

for i in range(5): 
    print (i) 

делает

0 
1 
2 
3 
4 
Смежные вопросы