在Python中,这个end =“”在print语句中做了什么?

时间:2016-09-05 22:33:09

标签: python-2.7 syntax compiler-errors

我正在尝试让某人的代码在Python中运行。这是代码......

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告诉我使用以下语句在'='符号处出现语法错误:

print("#", end=" ")

任何人都可以告诉我为什么我会收到语法错误,更重要的是,这句话的作用是什么?

1 个答案:

答案 0 :(得分:2)

你使用的是错误的python版本。

在Python 2下运行代码会产生:

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

在Python 3下运行代码会产生:

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

要使该代码本机工作,您需要使用python 3。

或者,为了使它在python 2下工作:

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