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

yipeiwu_com7年前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将Excel数据导入到SQL Server的例子

使用环境:Win10 x64 Python:3.6.4 SqlServer:2008R2     因为近期需要将excel导入到SQL Serve...

pytorch-神经网络拟合曲线实例

pytorch-神经网络拟合曲线实例

代码已经调通,跑出来的效果如下: # coding=gbk import torch import matplotlib.pyplot as plt from torch.auto...

Python3使用PySynth制作音乐的方法

Python3使用PySynth制作音乐的方法

本人虽然五音不全,但是听歌还是很喜欢的。希望能利用机器自动制作音乐,本我发现了一个比较适合入门的有趣的开源音乐生成模块 PySynth ,文我们主要讲解下如何Python3使用PySyn...

python3 mmh3安装及使用方法

python3 mmh3安装及使用方法

mmh3安装方法 哈希方法主要有MD、SHA、Murmur、CityHash、MAC等几种方法。mmh3全程murmurhash3,是一种非加密的哈希算法,常用于hadoop等分布式存储...

Pytorch 多维数组运算过程的索引处理方式

背景:对 python 不熟悉,能看懂代码,也能实现一些简单的功能,但是对 python 的核心思想和编程技巧不熟,所以使 Pytorch 写 loss 的时候遇到很多麻烦,尤其是在 b...