解决python彩色螺旋线绘制引发的问题

yipeiwu_com6年前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"。这样会将错误提示改为警告提示。

相关文章

python opencv 简单阈值算法的实现

python opencv 简单阈值算法的实现

本文先了解一个简单阈值函数,以了解一个阈值算法的具体参数。 然后比较不同阈值函数的区别。 同样的,先用一副图说明本文重要大纲: #! usr/bin/env python...

Django框架模板注入操作示例【变量传递到模板】

Django框架模板注入操作示例【变量传递到模板】

本文实例讲述了Django框架模板注入操作。分享给大家供大家参考,具体如下: 1.HTML模板如何解析变量? <h1>这是一个html页面</h1> <...

python操作xml文件详细介绍

关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码。这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml...

Python环境搭建之OpenCV的步骤方法

一、openCV介绍 Open Source Computer Vision Library.OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。Open...

Django对models里的objects的使用详解

首先我们先熟悉下objects的大致概念. object是模型属性---用于模型对象和数据库交互 . objects = Manager() 是管理器类型的对象 ,是Model和数据库进...