Python turtle库(绘制螺旋正方形)

 更新时间:2022年07月18日 14:35:45   作者:.  
这篇文章主要介绍了Python turtle库(绘制螺旋正方形),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

turtle库绘制螺旋正方形

1.螺旋正方形

import turtle  #导入turtle库
turtle.pensize(2) #设置画笔的宽度(2)
for i in range(100):  #循环(画)100次
   turtle.fd(i + (i * 2)) #每次循环画笔长度i+(i*2)
   #(不能覆盖掉i-1的正方形的意思?)
   turtle.left(90) #左转90°
turtle.hideturtle() #隐藏画笔
turtle.done()   #停留画面

运行结果:

螺旋正方形

2.彩色螺旋正方形

import turtle #导入turtle库
turtle.pensize(2)  #设置画笔的宽度(2)
turtle.bgcolor("black") #背景颜色(黑色)
colors = ["blue","yellow","red","pink"] #定义颜色(4中颜色)
for i in range(120):        #循环(画)120次
    turtle.pencolor(colors[i % 4]) #画笔颜色
    turtle.fd(i+(i*2))   #每次循环画线长度i+(i*2)
    turtle.left(90)    #左转90°
turtle.hideturtle()   #隐藏画笔
turtle.done()    #停留画面

运行结果:

彩色螺旋正方形

第三方库turtle的应用

turtle库用于绘制图形的内置函数库。turtle是海龟的意思,turtle绘图可以描述为海归爬行轨迹形成了绘制的图形,所以绘图十分直观

1.pip安装turtle库

打开cmd,输入

pip install turtle

2.绘图坐标系

turtle画布上默认为原点是画布中心,坐标原点是 (0,0),X轴左右侧分别为后退和前进方向,Y轴上下两侧分别为左右两侧方向

turtle.setup(width,height.top,left)   参数width和height表示绘图窗口的宽度和高度;如果参数是整数,则单位是像素;如果参数是小数,则表示与屏幕的比例。参数top和left表示窗口左边界和上边界与屏幕边界的距离,如果值是None,表示位于屏幕中央(一般情况下不设置这两个参数的值)

3.turtle的画笔控制方法

turtle的画笔控制方法主要是设置画笔的状态,如画笔的抬起和下落状态,设置的画笔的宽度和颜色等

turtle的画笔控制方法
方法功能
turtle.pensize()/width设置画笔的宽度,若为空则返回当前画笔的宽度
turtle.pendown()/pd()/down()放下画笔,即结束图形绘制
turtle.penup()/pu()/up()提起画笔,用于移动画笔位置
turtle.pencolor(colorstring)/pencolor((r,g,b))设置画笔颜色,第一个为颜色字符串,例('blue');第二个为颜色值取值表示

4.turtle的图形绘制方法

这个方法包括画笔的前进方法,后退,方向控制等

turtle的图形控制方法
方法功能
turtle.seth(angle)/setheading(angle)改变画笔绘制方向,angle是绝对方向的绝对值
turtle.fd(distance)/forward(distance)控制画笔沿当前方向前进distance距离,distance的单位是像素,当值为负数时,表示向相反的的方向前进
turtle.circle(radius,extents)用来绘制一个弧形,根据半径radius绘制extens角度的弧形
turtle.left(angle)向左旋转angle角度
turtle.setx(x)将当前x轴移动到指定位置,x的单位是像素
turtle.sety(y)将当前轴y移动到指定位置,y的单位是像素
turtle.right(angle)向右旋转angle角度
turtle.shape("name")设置画笔的形状,例:将name设置成‘turtle’
turtle.speed(num)设置画笔的速度,num是一个整数
turtle.hideturtle()隐藏画笔

5.简单应用示例

绘制蓝色螺旋代码

import turtle as tt
 
'''绘制蓝色正方形螺旋'''
tt.setup(400, 300)  # 设置窗口大小
tt.pensize(1)  # 设置画笔宽度
tt.pencolor('blue')  # 设置画笔颜色
tt.shape('turtle')  # 设置画笔形状
tt.speed(5)  # 设置画笔速度
a = 5    #设置画笔起始位置
for i in range(40):
    a += 5
    tt.left(90)
    tt.fd(a)
tt.hideturtle()    #隐藏画笔
tt.done()    #放下画笔,结束绘制

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • TensorFlow Autodiff自动微分详解

    TensorFlow Autodiff自动微分详解

    这篇文章主要介绍了TensorFlow Autodiff自动微分详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Pandas处理DataFrame稀疏数据及维度不匹配数据分析详解

    Pandas处理DataFrame稀疏数据及维度不匹配数据分析详解

    这篇文章主要为大家介绍了Pandas处理DataFrame稀疏数据及维度不匹配数据分析详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • 几行代码让 Python 函数执行快 30 倍

    几行代码让 Python 函数执行快 30 倍

    Python 编程语言,与其他流行编程语言相比主要缺点是它的动态特性和多功能属性拖慢了速度表现。Python 代码是在运行时被解释的,而不是在编译时被编译为原生代码。在本文中,我们将讨论如何用多处理模块并行执行自定义 Python 函数,并进一步对比运行时间指标。

    2021-10-10
  • pycharm查看变量值的4种方法汇总

    pycharm查看变量值的4种方法汇总

    因为Python是脚本语言,不会进行编译,所以只有执行到那一行,才能知道那个变量的类型,下面这篇文章主要给大家介绍了关于pycharm查看变量值的4种方法,需要的朋友可以参考下
    2022-04-04
  • Python设计模式之工厂方法模式实例详解

    Python设计模式之工厂方法模式实例详解

    这篇文章主要介绍了Python设计模式之工厂方法模式,结合实例形式较为详细的分析了工厂方法模式的概念、原理、用法及相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • 探究数组排序提升Python程序的循环的运行效率的原因

    探究数组排序提升Python程序的循环的运行效率的原因

    这篇文章主要介绍了探究数组排序提升Python程序的循环的运行效率的原因,作者用代码实践了多个小片段来进行对比解释,需要的朋友可以参考下
    2015-04-04
  • 详解利用Python scipy.signal.filtfilt() 实现信号滤波

    详解利用Python scipy.signal.filtfilt() 实现信号滤波

    这篇文章主要介绍了详解利用Python scipy.signal.filtfilt() 实现信号滤波,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • python绘制直方图的方法

    python绘制直方图的方法

    这篇文章主要为大家详细介绍了python绘制直方图的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 通过python+selenium3实现浏览器刷简书文章阅读量

    通过python+selenium3实现浏览器刷简书文章阅读量

    本篇文章主要介绍了通过python+selenium3实现浏览器刷简书文章阅读量,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Python csv文件记录流程代码解析

    Python csv文件记录流程代码解析

    这篇文章主要介绍了Python csv文件记录流程代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07

最新评论