解决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 之编写简单乘法运算题

实现代码: #! /usr/bin/python //处理程序 #filename jiafa.py //文件名 import sys import r...

教你用一行Python代码实现并行任务(附代码)

Python在程序并行化方面多少有些声名狼藉。撇开技术上的问题,例如线程的实现和GIL,我觉得错误的教学指导才是主要问题。常见的经典Python多线程、多进程教程多显得偏"重"。而且往往...

Pycharm2017版本设置启动时默认自动打开项目的方法

Pycharm2017版本设置启动时默认自动打开项目的方法

最新版本不同于旧版本的设置,网上检索一番方法都不适用。 新版的设置位置在“configure->setting->Appearance&Behavior->System...

利用Python检测URL状态

需求:Python检测URL状态,并追加保存200的URL 代码一: #! /usr/bin/env python #coding=utf-8 import sys import...

python简单实现AES加密和解密

本文实例为大家分享了python实现AES加密和解密的具体代码,供大家参考,具体内容如下 参考:python实现AES加密和解密 AES加密算法是一种对称加密算法, 他有一个密匙, 即用...