【问题标题】:Error in Python Tutorial Example Code?Python教程示例代码中的错误?
【发布时间】:2014-06-29 17:24:11
【问题描述】:

我正在学习这里的 python 教程,下面的代码用作示例。

>>> def fib(n):    # write Fibonacci series up to n
...     """Print a Fibonacci series up to n."""
...     a, b = 0, 1
...     while a < n:
...         print(a, end=' ')
...         a, b = b, a+b
...     print()
...
>>> # Now call the function we just defined:
... fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597

当我在 Canopy 编辑器中运行它时,虽然我收到以下错误消息

File "<ipython-input-25-224bab99ef80>", line 5
    print(a, end=' ')
            ^
SyntaxError: invalid syntax

PyLab 中的语法是相同的,在命令提示符中使用 python 和 Canopy 编辑器,所以我看不出它为什么不能运行...

【问题讨论】:

  • 你在使用 Python 3 吗?
  • 示例使用 Python 3。

标签: python syntax-error python-2.x


【解决方案1】:

您正在尝试使用错误版本的 Python 运行该代码。该示例使用 Python 3.x,其中 print is a function,而不是 Python 2.x,其中 print is a statement。


注意,对于这个具体的例子,你可以这样写函数:

>>> def fib(n):
...     """Print a Fibonacci series up to n."""
...     a, b = 0, 1
...     while a < n:
...         print a,
...         a, b = b, a+b
...
>>> fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
>>>

不过,如果您将在整个教程中使用 Python 3.x,那么升级您的 Python 版本仍然是一个好主意。

【讨论】:

  • 谢谢,强烈建议切换到 Python 3?我正在使用“Python for Data Analysis”,我相信它是面向 2.x 的。
  • 嗯,这取决于你想做什么。如果您正在为需要 Python 2.x 的特定事物学习 Python,那么我会继续使用 Python 2.x。但是,如果您想学习一般的 Python,那么我会升级并使用新的改进版本。请记住,Python 2.x 与 Python 1.x 一样,总有一天会完全过时。你不想成为不再使用的东西的专家。 :)
  • stackoverflow.com/questions/16142764/…。似乎这仍然是真的?
猜你喜欢
  • 2012-03-26
  • 1970-01-01
  • 2018-07-17
  • 1970-01-01
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-11
相关资源
最近更新 更多