Python学习日记之学习turtle库(下 篇)

前言:

        书接上篇,我们继续来了解Python内置库 turtle功能库。在前面的文章中,我们初步的了解了一下 turtle库,画布和画笔相关的函数,那么我们继续来深入了解一下吧。

详情见:

Python学习日记之学习turtle库(上 篇)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/Isaiah_Cohen/article/details/136581082?spm=1001.2014.3001.5501

一、画笔函数的控制指令

        在Python内置库 turtle是一个专门用于绘画的功能库,其中有一类专门用于绘画的指令函数。

表1 - 1 认识控制指令及其功能

指令别称说明
turtle.penup()

turtle.up()

turtle.pu()

笔从屏幕上拉起来,它在移动到另一个位置或方向时不提供任何绘图
 turtle.pendown()

 turtle.pd()

 turtle.down()

将拉起的画笔落回画布
turtle.isdown()检查画笔是否已经落下
turtle.fillcolor('color')该方法用于返回或设置填充色。如果turtleshape是一个多边形,那么该多边形的内部将用新设置的填充色绘制
turtle.color('pencolor', 'fillcolor')设置画笔颜色和填充颜色。如果只有一个颜色则画笔颜色和填充颜色相同。如果是两种颜色,则前者是画笔颜色,后者是填充颜色
turtle.filling()检查图形是否为填充状态
turtle.begin_fill()开始填充,这个方法用于在绘制一个要填充的形状之前调用,它不接受任何参数。
turtle.end_fill()结束填充,该方法用于填充调用begin_fill()后绘制的形状
turtle.hideturtle()turtle.ht()这个方法是用来使Turtle隐身的。当你正在进行复杂的绘图时,这样做是个好主意,因为隐藏Turtle会明显加快绘图速度。这个方法不需要任何参数
turtle.showturtle()turtle.st()该方法用于将隐藏起来的turtle使其可见。它不需要任何参数。
turtle.clear()这个功能是用来删除屏幕上的Turtle图画。Turtle的不移动状态和位置以及其他Turtle的绘图不受影响。它不需要任何参数。
turtle.reset()这个函数用来删除turtle的图画并恢复其默认值。它不需要任何参数。
turtle.undo()

这个函数用来撤消(重复)最后一个turtle动作。可用的撤销动作的数量由撤销缓冲区的大小决定。它不需要任何参数。

turtle.isvisible()检查画笔是否可见
turtle.shape()该函数用于将Turtle形状设置为具有给定名称的形状,如果没有给定名称,则返回当前形状的名称。
turtle.stamp()该方法用于在画布上印制一个turtle形的副本,相当于印章,并返回其ID。它不需要任何参数。不管turtle的形状是什么,它都会在这一点上被打印出来,然后继续下一个指令。
turtle.clearstamp()清除当前印章
turtle.clearstamps()清除全部印章
turtle.write(s [,font=('font_name',font_size,'font_type')])该函数用于在当前 turtle 位置书写文本,s为文本内容,字体font是可选项,其名称,大小和类型等参数也是可选项

二、关于turtle库绘图练习

        在练习之前我们先明确一个小知识,在使用Python turtle画图时,画完图形窗口一下子退出消失怎么办,如何能够停留在画完的窗口呢?

退出窗口停滞的解决方法

        程序退出画图界面的原因,本质上来说就是程序执行完成,程序结束窗口也随着程序一并结束。其实是解决的方法很简单,只要我们能够想办法让程序在画完图片后,不退出就好了。        

        turtle提供了几个可以让窗口一直保持着的方法:

  • 第一种方法:在程序的最后面加上:turtle.exitonclick(),让程序等待用户点击界面后才能够退出
  • 第二种方法:在程序的最后面加上:turtle.mainloop(),该语句必须放到最后一句,该句子后面的所有代码都无法执行
  • 第三种方法:在程序的最后面加上:turtle.done(),该语句的功能和mainloop()差不多。
绘制一个彩色正方形

代码

import turtle
from turtle import * # turtle库的调用
pensize(2) # 选择画笔大小
pencolor("red") # 选择画笔颜色
color = ["green","red","pink","blue"] # 对颜色进行一一枚举
for i in range(200): # 进行4次循环
    turtle.forward(i*2) # 向前前进100个像素
    pencolor(color[i%4])# 设置画笔颜色
    turtle.right(90)# 由前进方向,向右转90°
turtle.done() # 窗口停滞

运行结果

 

六芒星 

代码:

from turtle import *
def triangle():
    pensize(2)
    pencolor('black')
    for i in range(3):
        fd(60)
        right(120)

def main():
    colors=['green','red','yellow','pink','purple','orange']
    speed(7)
    for i in range(6):
        begin_fill()
        fillcolor(colors[i])
        triangle()
        fd(60)  #以坐标系为基准,左转60°
        left(60)
        end_fill()
    #填充中心颜色
    fillcolor("blue")
    begin_fill()
    for i in range(6):
        fd(60)
        left(60)
    end_fill()
    ht()#隐藏画笔
main()
done()

 运行结果

  • 43
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 24
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值