当我尝试从Python documentation on turtle
运行第一段示例代码时:
from turtle import *
color('red', 'yellow')
begin_fill()
while True:
forward(200)
left(170)
if abs(pos()) < 1:
break
end_fill()
done()
我得到NameError
:
NameError:未定义名称'color'
调整import
并手动指定模块也不起作用:
import turtle
turtle.color('red', 'yellow')
turtle.begin_fill()
while True:
turtle.forward(200)
turtle.left(170)
if abs(turtle.pos()) < 1:
break
turtle.end_fill()
turtle.done()
根据文档,我使用的是Python v3.2.3,其中包含turtle.color
。 Python也安装了tkinter
支持,因为import tkinter
也可以。
完整的痕迹是:
Traceback (most recent call last):
File "<path name that contains no spaces>/turtle.py", line 1, in <module>
from turtle import *
File "<path name that contains no spaces>\turtle.py", line 2, in <module>
color('red', 'yellow')
NameError: name 'color' is not defined
有多奇怪。如果我输入shell,无论是命令行还是IDLE,并一次输入一个命令:
>>> from turtle import *
>>> color('red', 'yellow')
没有问题。只有当我在IDLE中打开一个新窗口时,输入所有命令,然后运行脚本。
答案 0 :(得分:13)
您将文件命名为“turtle.py”,因此当您import turtle
时,您将导入自己的文件而不是stdlib模块。更改程序的名称,并删除该目录中的所有.pyc文件。