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

(0)

相关推荐

  • Python绘制3d螺旋曲线图实例代码

    Line plots Axes3D.plot(xs, ys, *args, **kwargs) 绘制2D或3D数据 参数 描述 xs, ys X轴,Y轴坐标定点 zs Z值,每一个点的值都是1 zdir 绘制2D集合时使用z的方向 其他的参数:plot() Python代码: import matplotlib as mpl from mpl_toolkits.mplot3d import Axes3D import numpy as np import matplotlib.pyplot as

  • 使用Turtle画正螺旋线的方法

    import turtle as t t.setup(800,600,0,0,) t.pensize(2) t.speed(1) t.color("purple") t.shape("turtle") a=input("请输入任意1-10以内的数值:") a=eval(a)   #红色部分可以改成a=5 for i in range(50):    a=a+10    t.left(90)    t.fd(a)    t.done() 以上就是小

  • python实现画五角星和螺旋线的示例

    如下所示: # -*- coding:UTF-8 -*- __author__ = "zhangguodong" __time__ = "2017.11.16" import turtle turtle.title("张国栋画五角星") turtle.setup(500,300,0,0) turtle.fillcolor("red") turtle.begin_fill() while True: turtle.forward

  • 解决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(Tru

  • 解决python多行注释引发缩进错误的问题

    如下所示: m_start =date +' 09:00' m_end =date +' 13:00' rsv_1 ={ 'act':'set_resv', 'dev_id':dev_id, 'start':m_start, 'end':m_end, } ''' rsv_2 ={ '_':'', 'act':'set_resv', 'dev_id':dev_id, 'start':'2018-05-21 13:00', 'end_time':'', 'kind_id':'', 'lab_id':

  • 解决python ThreadPoolExecutor 线程池中的异常捕获问题

    问题 最近写了涉及线程池及线程的 python 脚本,运行过程中发现一个有趣的现象,线程池中的工作线程出现问题,引发了异常,但是主线程没有捕获异常,还在发现 BUG 之前一度以为线程池代码正常返回. 先说重点 这里主要想介绍 python concurrent.futuresthread.ThreadPoolExecutor 线程池中的 worker 引发异常的时候,并不会直接向上抛起异常,而是需要主线程通过调用concurrent.futures.Future.exception(timeou

  • 解决Python Matplotlib绘图数据点位置错乱问题

    在绘制正负样本在各个特征维度上的CDF(累积分布)图时出现了以下问题: 问题具体表现为: 1.几个负样本的数据点位置倒错 2.X轴刻度变成了乱七八糟一团鬼东西 最终解决办法 造成上述情况的原因其实是由于输入matplotlib.plot()函数的数据x_data和y_data从CSV文件中直接导入后格式为string,因此才会导致所有数据点的x坐标都被直接刻在了x轴上,且由于坐标数据格式错误,部分点也就表现为"乱点".解决办法就是导入x,y数据后先将其转化为float型数据,然后输入p

  • Python如何绘制日历图和热力图

    本文以2019年全国各城市的空气质量观测数据为例,利用matplotlib.calmap.pyecharts绘制日历图和热力图.在绘图之前先利用pandas对空气质量数据进行处理. 2019年全国各城市空气质量观测数据来源于:https://beijingair.sinaapp.com. 数据处理 从网站下载的数据为逐小时数据,每天一个文件.如果要绘制全年的日历图或者热图,首先要将所有的数据进行合并处理. 下载好数据之后,将数据解压到当前目录的2019文件夹内,然后处理数据: import gl

  • 教你利用Python+Turtle绘制简易版爱心表白

    一.效果 快放10倍 总共分为三部分,左上角的正文,下方的心形和右下角的署名 特别需要注意的一点是这种东西不但要装Python,还与分辨率有关(换个屏幕可能效果雪崩,因为用的是绝对坐标),因此并不建议实际拿去弄(哪怕能解决上述两个问题) 二.正文部分 效果: 本质是每写一行话,然后将坐标下移换行,再写一行,以此类推 # content就是该行的内容了,想些啥写啥吧 def drawLine(content, x, y, sleep=3): goto(x, y) write(content, fo

  • Python 实现绘制子图及子图刻度的变换等问题

    1.涉及到图的对比会用到子图形式展示,先看看效果 2.绘制代码如下 accuracy_alexnet_clef = [78.05, 78.43, 78.65, 78.61, 78.69] accuracy_resnet_clef = [84.56, 84.84, 85.07, 85.01, 85.13] accuracy_alexnet_office10 = [87.30, 87.57, 87.78, 87.72, 87.50] accuracy_resnet_office10 = [96.31

  • Python实现绘制多角星实例

    目录 一.引言 二.方法 三.实验结果与讨论 1.三角形的绘制 2.五角星的绘制 3.多角星的绘制 四. 结语 本文转自微信公众号:算法与编程之美 一.引言 在具备一定的Python编程基础以后,我们可以结合for循环进行多角星的编写,只要简单的几次循环,即可以极大的解决重复编写相同代码方面的问题,下面小编将以三角星.五角星为例,进而引入如何绘制多角星. 二.方法 预备知识: 命令 说明 pensize(width) 设置画笔宽度 turtle.forward(distance) 向画笔方向移动

  • Python matplotlib绘制xkcd动漫风格的图表

    目录 XKCD matplotlib对XKCD风格的支持 创建XKCD风格的图表 使用中文字体创建XKCD风格的图表 1.安装字体 2.更新中文字体 XKCD xkcd是兰道尔·门罗(Randall Munroe)的网名,又是他所创作的漫画的名称.作者兰道尔·门罗(Randall Munroe)给作品的定义是一部“关于浪漫.讽刺.数学和语言的网络漫画”(A webcomic of romance,sarcasm, math, and language),被网友誉为深度宅向网络漫画.XKCD官方网

  • Python+Turtle绘制航海王草帽路飞详解

    目录 一.程序运行 1.效果展示-轮廓描绘 2.效果展示-颜色填充 二.实现过程 1.绘图数据下载 2.海龟绘图配置项 3.轮廓绘制 4.颜色填充:衣服.裤子 5.颜色填充:草帽.腰带 6.完整源码 一.程序运行 1.效果展示 - 轮廓描绘 看轮廓描绘效果: 2.效果展示 - 颜色填充 衣服和裤子颜色填充效果: 二.实现过程 1.绘图数据下载 获取地址 内容预览: 2.海龟绘图配置项 降低刷新率可提升绘制速度,值越大刷新频率越低,速度越快 t.tracer(5000) def set_trutl

随机推荐