2016-09-05 2 views
0

Ich versuche, jemandes Code in Python laufen zu lassen. Dies ist der Code ...In Python, was macht dieses Ende = "" in einer Druckanweisung?

def printGen(cols, rows, array, genNo): 
os.system("cls") 

print("Game of Life -- Generation " + str(genNo + 1)) 

for i in range(rows): 
    for j in range(cols): 
     if array[i][j] == -1: 
      print("#", end=" ") 
     elif array[i][j] == 1: 
      print(".", end=" ") 
     else: 
      print(" ", end=" ") 
    print("\n") 

Python sagt mir, es ist ein Syntaxfehler bei dem Zeichen ‚=‘ mit dieser Aussage:

print("#", end=" ") 

Kann mir jemand sagen, warum ich bin immer ein Syntaxfehler, und was noch wichtiger ist, was die Aussage tut?

+0

Haben Sie sich schon die ['print()' Funktionsdokumentation] (https://docs.python.org/2/library/functions.html#print) angesehen? –

+1

Sie versuchen, Python 3-Code in Python 2 auszuführen. Es kann gemacht werden, um zu arbeiten, aber Sie müssen zuerst den dokumentierten '__future__' Import hinzufügen. Vielleicht möchten Sie stattdessen zu Python 3 wechseln. –

+0

Es gibt zwei Versionen von Python: 2 und 3. Und Sie verwenden die falsche ;-) –

Antwort

2

Sie verwenden die falsche Version von Python.

Laufen Sie den Code unter Python 2 ergibt:

>>> print("#", end=" ") 
    File "<stdin>", line 1 
    print("#", end=" ") 
       ^
SyntaxError: invalid syntax 

Laufen Sie den Code unter Python 3 ergibt:

>>> print("#", end=" ") 
# >>> 

Für diesen Code nativ zu arbeiten, müssen Sie mit Python zu 3.

Alternativ dazu, damit es unter Python 2 funktioniert:

>>> from __future__ import print_function 
>>> print("#", end=" ") 
# >>>