解决python彩色螺旋线绘制引发的问题
彩色螺旋线的绘制代码如下:
import turtle import time turtle.pensize(2) turtle.bgcolor('black') colors = ['red', 'yellow', 'purple', 'blue'] turtle.tracer(False) for x in range(400): turtle.forward(2*x) turtle.color(colors[x % 4]) turtle.left(91) turtle.tracer(True) time.sleep(3)
但我稍稍把代码改了一下:
from turtle import * from time import * p = Turtle() p.pensize(2) p.bgcolor("black") colors = ["red", "yellow", 'purple', 'blue'] p._tracer(False) for x in range(400): p.forward(2*x) p.color(colors[x % 4]) p.left(91) p._tracer(True)
出现错误:'Turtle' object has no attribute 'bgcolor'。查了一下,问题在于Turtle对象p没有bgcolor方法,虽然乌龟模块本身有bgcolor方法。
于是我又将代码改为:
from turtle import * from time import * import turtle p = Turtle() p.pensize(2) turtle.bgcolor("black") colors = ["red", "yellow", 'purple', 'blue'] p._tracer(False) for x in range(400): p.forward(2*x) p.color(colors[x % 4]) p.left(91) p._tracer(True)
在IDLE中运行可行,效果如图:(PS:可尝试将p._tracer(False)这条语句注释掉,可显示海龟的绘制过程)
至此,在IDLE中可绘制彩色螺旋线的代码完成,但将这段代码放入eclipse中运行发现两个问题。
问题一是画布会出现闪退现象,解决办法是在末尾加语句:
turtle.done()
问题二是语句
turtle.bgcolor("black")
会出现Undefined variable from import: bgcolor的错误提示,但实际上还是可运行的,解决办法:window -- preferences -- pydev -- editor -- code analysis -- Undefined -- undefined variable from import --改成"Waring"。这样会将错误提示改为警告提示。