2017-07-17 2 views
-2
grid = [['.', '.', '.', '.', '.', '.'], 
    ['.', 'O', 'O', '.', '.', '.'], 
    ['O', 'O', 'O', 'O', '.', '.'], 
    ['O', 'O', 'O', 'O', 'O', '.'], 
    ['.', 'O', 'O', 'O', 'O', 'O'], 
    ['O', 'O', 'O', 'O', 'O', '.'], 
    ['O', 'O', 'O', 'O', '.', '.'], 
    ['.', 'O', 'O', '.', '.', '.'], 
    ['.', '.', '.', '.', '.', '.']] 

for i in range(len(grid[0])): 
    for j in range(len(grid)): 
     print(grid[j][i], end='') 
    print() 

Ich bin ein kompletter Anfänger in Python. Verwenden von Python 3.6. Ich verstehe den Code. Das einzige, was ich nicht verstehe, was macht 'print()' in der letzten Zeile?Was macht print()?

print() 

Es wird keine neue Zeile gedruckt coz 'end =' macht es schon. Danke im Voraus.

+3

... es druckt einen Zeilenumbruch –

+2

ohne es, alle Ausgabe endet auf der gleichen Zeile – EdChum

+0

... auch, das ist fast so ineffizient Art dieses Raster als Pythonally möglich zu drucken. – zwer

Antwort

4

end = '' macht es nicht Drucken Sie ein Zeilenumbruchzeichen für die Drucke in Ihrer verschachtelten for-Schleife. Der Standardkwarg für end ist das Zeilenvorschubzeichen \n. https://docs.python.org/2/library/functions.html#print

So ist der Druck am Ende tut Druck ein Newline am Ende dieser Iteration der for-Schleife.

2

Es wird der Zeilenumbruch gedruckt. end='' bewirkt, dass diese Druckanweisung NICHT eine neue Zeile druckt.

+0

Oh! Schätze, ich habe es vermasselt. Vielen Dank . – Renegade