1. 程式人生 > 程式設計 >解決python彩色螺旋線繪製引發的問題

解決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",'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",'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"。這樣會將錯誤提示改為警告提示。