turtle库画小老鼠

谈起turtle库大家都不陌生,但是用它来画画真的是一件很神奇的事情。想想之前只能用画笔绘画,现在却可以用代码来实现自己想要的作品。
That’s amazing!
好了,废话不多说。
今天就用python画一只新年老鼠。后期的颜色分享在下方链接。

先给大家简单介绍下Turtle库的应用吧。

turtle库的坐标体系
按照高中数学所学的象限一样,将坐标系分为四个象限,画笔想往哪个方向画就对应到哪个象限,再加上对应的角度,就可以控制自己的画笔啦。
用turtle库绘画和徒手绘画是一个道理,每次画线条之前都需要抬手然后移动到自己想要的地方再落笔。这里就要用到函数:
penup():这个函数相当于一个抬手的动作。
goto():这个函数是一个瞬间移动,移动时不绘画。
pendown():这个就是一个落笔,笔尖落在想要的位置上方。

当然,在绘画之前可以选择画布的背景颜色。
screensize(wide,long,“color”)
pensize(width):笔的粗细。
speed(num),以及绘画的速度。num越大绘制速度越快。
pencolor():笔的颜色。

在画好图形需要填充时
begin_fill():开始填充
color():设置填充颜色
end_fill():填充结束

我们还可以画一个圆:circle(radius,extent=None)
radius:弧形半径。正值:半径在画笔左侧,负值相反
extent:弧形的角度(注意!是相对角度),当值为None或空时,绘制整个圆形。
当extent不为0时,可以绘制一个圆。

在画之前要决定好自己画的位置,定好坐标,这样才更能有效率地画画。

下面是 小老鼠的代码。

// 小老鼠.py
import turtle#导入turtle库turtle.screensize(800,600,"#B22222")#设置画布背景颜色turtle.pensize(2)#设置画笔宽度
turtle.pencolor("gray")
turtle.speed(60)
#画左耳朵
turtle.penup()
turtle.goto(-45,80)
turtle.pd()
turtle.begin_fill()
turtle.color("Silver")
turtle.circle(30)
turtle.end_fill()turtle.penup()
turtle.goto(-45,85)
turtle.pd()
turtle.begin_fill()
turtle.color("#FAFFF0")
turtle.circle(25)
turtle.end_fill()#画右耳朵
turtle.penup()
turtle.goto(45,80)
turtle.pd()
turtle.begin_fill()
turtle.color("Silver")
turtle.circle(30)
turtle.end_fill()turtle.penup()
turtle.goto(45,85)
turtle.pd()
turtle.begin_fill()
turtle.color("#FAFFF0")
turtle.circle(25)
turtle.end_fill()
#画帽子
turtle.penup()
turtle.goto(0,90)
turtle.pd()
turtle.begin_fill()
turtle.color("#191970")
turtle.circle(20)
turtle.end_fill()turtle.penup()
turtle.goto(0,130)
turtle.pd()
turtle.begin_fill()
turtle.color("#FFFFE0")
turtle.circle(2)
turtle.end_fill()
#画圆
turtle.penup()
turtle.goto(0,0)
turtle.pd()
turtle.begin_fill()
turtle.color("Silver")turtle.circle(55)
turtle.end_fill()
turtle.color("gray")turtle.circle(55)
#画左眼睛
turtle.penup()
turtle.goto(-25,65)
turtle.pd()
turtle.begin_fill()
turtle.color("black")
turtle.circle(5)
turtle.end_fill()
#画右眼睛
turtle.penup()
turtle.goto(25,65)
turtle.pd()
turtle.begin_fill()
turtle.color("black")
turtle.circle(5)
turtle.end_fill()
turtle.hideturtle()
#画鼻子
turtle.penup()
turtle.goto(-9,30)
turtle.pd()
turtle.begin_fill()
turtle.color("#FAFFF0")
turtle.circle(11)
turtle.end_fill()turtle.penup()
turtle.goto(9,30)
turtle.pd()
turtle.begin_fill()
turtle.color("#FAFFF0")
turtle.circle(11)
turtle.end_fill()turtle.penup()
turtle.goto(0,45)
turtle.pd()
turtle.begin_fill()
turtle.color("black")
turtle.circle(5)
turtle.end_fill()
#画嘴巴
turtle.penup()
turtle.goto(0,45)
turtle.pd()
turtle.right(25)
turtle.forward(10)
turtle.penup()
turtle.goto(0,45)
turtle.pd()
turtle.left(55)
turtle.forward(-10)
turtle.color("black")
#画左胡子
turtle.penup()
turtle.goto(-45,50)
turtle.pd()
turtle.rt(40)
turtle.fd(15)
turtle.penup()
turtle.goto(-45,30)
turtle.pd()
turtle.lt(25)
turtle.fd(20)
#画右胡子
turtle.penup()
turtle.goto(45,50)
turtle.pd()
turtle.lt(180)
turtle.fd(15)
turtle.penup()
turtle.goto(45,30)
turtle.pd()
turtle.lt(150)
turtle.backward(20)
#画身体
pen=turtle.Turtle()                #定义画笔实例
pen.pensize(2)#设置画笔宽度
pen.pencolor("gray")
pen.speed(50)
pen.penup()
pen.goto(0,25)
pen.pd()
a=1
pen.begin_fill()
pen.color("Silver")
#循环画椭圆
for i in range(120):                if 0<=i<30 or 60<=i<90:        #控制a的变化a=a+0.2pen.lt(-3)                  #向左转3度pen.fd(a)                  #向前走a的步长else:a=a-0.2pen.lt(-3)pen.fd(a)
pen.end_fill()
#画肚皮
pen=turtle.Turtle()                #定义画笔实例
pen.pensize(2)#设置画笔宽度
pen.pencolor("#FAFFF0")
pen.speed(10)
pen.penup()
pen.goto(0,-18)
pen.pd()
a=1
pen.begin_fill()
pen.color("#FAFFF0")
#循环画椭圆
for i in range(120):                if 0<=i<30 or 60<=i<90:        #控制a的变化a=a+0.1pen.lt(-3)                  #向左转3度pen.fd(a)                  #向前走a的步长else:a=a-0.1pen.lt(-3)pen.fd(a)
pen.end_fill()
pen.hideturtle()
#画尾巴
turtle.pensize(4)
turtle.color("black")
turtle.pu()
turtle.goto(-25,-151)
turtle.pd()
turtle.circle(150, -50)
turtle.circle(60, -20)
turtle.circle(40, 30)
#画左胳膊
turtle.pensize(4)
turtle.color("darkgray")
turtle.pu()
turtle.goto(-48,-10)
turtle.pd()
turtle.circle(50,60)
#画左爪
turtle.pensize(10)
turtle.color("#FCE6C9")
turtle.fd(5)
#画右胳膊
turtle.pensize(4)
turtle.color("darkgray")
turtle.pu()
turtle.goto(48,-10)
turtle.pd()
turtle.circle(50,60)
#画右爪
turtle.pensize(10)
turtle.color("#FCE6C9")
turtle.fd(5)
#画底坐
turtle.pensize(15)
turtle.color("#FFFAF0")
turtle.pu()
turtle.goto(-50,-160)
turtle.pd()
turtle.seth(0)
turtle.forward(500)
#画脚丫
turtle.pensize(20)
turtle.color("#FCE6C9")
turtle.pu()
turtle.goto(-25,-151)
turtle.pd()
turtle.seth(0)
turtle.forward(3)
turtle.pu()
turtle.goto(25,-151)
turtle.pd()
turtle.seth(0)
turtle.forward(3)
#脸
turtle.pensize(2)
turtle.penup()
turtle.goto(0,0)
turtle.pd()
turtle.color("gray")
turtle.circle(55)
#画中国结
turtle.color("#FF0000")
turtle.pensize(3)
turtle.begin_fill()
turtle.pu()
turtle.goto(2,-30)
turtle.pd()
turtle.begin_fill()
turtle.color("#FF0000")turtle.seth(90)
turtle.bk(10)
turtle.seth(-45)
turtle.fd(30)
turtle.seth(-135)
turtle.fd(30)
turtle.seth(-45)
turtle.bk(30)
turtle.seth(-135)
turtle.bk(30)
turtle.end_fill()turtle.pensize(5)
turtle.pu()
turtle.goto(2,-90)
turtle.pd()
turtle.seth(90)
turtle.circle(10,20)
#画围巾
turtle.pensize(20)
turtle.color("pink")
turtle.pu()
turtle.goto(-35,6)
turtle.pd()
turtle.seth(190)
turtle.fd(5)turtle.pu()
turtle.goto(-25,4)
turtle.pd()
turtle.color("pink")
turtle.seth(195)
turtle.fd(5)
#turtle.circle(-50, -130)turtle.pu()
turtle.goto(-15,0)
turtle.pd()
turtle.color("pink")
turtle.seth(180)
turtle.fd(5)turtle.pu()
turtle.goto(-5,0)
turtle.pd()
turtle.color("pink")
turtle.seth(170)
turtle.fd(5)turtle.pu()
turtle.goto(5,0)
turtle.pd()
turtle.color("pink")
turtle.seth(160)
turtle.fd(5)turtle.pu()
turtle.goto(15,0)
turtle.pd()
turtle.color("pink")
turtle.seth(170)
turtle.fd(5)turtle.pu()
turtle.goto(25,0)
turtle.pd()
turtle.color("pink")
turtle.seth(180)
turtle.fd(5)turtle.pu()
turtle.goto(35,0)
turtle.pd()
turtle.color("pink")
turtle.seth(180)
turtle.fd(5)turtle.pu()
turtle.goto(35,-15)
turtle.pd()
turtle.color("pink")
turtle.seth(180)
turtle.fd(5)turtle.pu()
turtle.goto(35,-25)
turtle.pd()
turtle.color("pink")
turtle.seth(180)
turtle.fd(5)turtle.pu()
turtle.goto(35,-35)
turtle.pd()
turtle.color("#FFFFCD")
turtle.seth(180)
turtle.fd(5)
#画雪花
turtle.color('#FAFFF0')
turtle.fd_ls = [200,140,250,400,300,220,800,250,360,589,432,115,600,650,550,440]
turtle.lt_ls = [100,125,170,200,330,250,360,589,432,115,432,115,600,650,550,440,-100,-200,-333]
for i in range(15):turtle.pu()turtle.home() turtle.lt(turtle.lt_ls[i])turtle.fd(turtle.fd_ls[i])turtle.begin_fill()turtle.circle(5)turtle.end_fill()turtle.fd(15)
#添加文字
turtle.pu()
turtle.goto(70,40)
turtle.pd()
turtle.color('#FFEBCD')
turtle.write('鼠年大吉  万事如意',font=("Arial",15,"normal"))turtle.pu()
turtle.goto(-7,-72)
turtle.pd()
turtle.color('#000000')
turtle.write('福',font=("Arial",15,"normal"))print(pen)
turtle.mainloop()

我在这里面所应用的是最简单的圆形画图,建议在画之前用坐标系确定好点的位置,这样画比较有效率。
在最后分享一个颜色盘给大家,快拿起你的画笔画出你喜欢的图案吧:
链接: https://blog.csdn.net/xiaoting451292510/article/details/8226325.

用turtle库画新年小老鼠相关推荐

  1. 小福利,turtle库画了一个小风车

    小福利,turtle库画了一个小风车 import turtle as tt.pencolor('blue') list1=['red','green','pink','yellow']for i i ...

  2. 用python画小黄人步骤图-学Python画画:应用Turtle库画一个蠢萌的小黄人

    学Python画画:应用Turtle库画一个蠢萌的小黄人 前言: 还记得小黄人哪只蠢萌蠢萌的单眼小黄人?就是喜欢做什么事都喜欢逞能的那只,下面用Python来实现一下,正在逃跑的小黄人.进群:7003 ...

  3. 用python画小黄人-学Python画画:应用Turtle库画一个蠢萌的小黄人

    学Python画画:应用Turtle库画一个蠢萌的小黄人 前言: 还记得小黄人哪只蠢萌蠢萌的单眼小黄人?就是喜欢做什么事都喜欢逞能的那只,下面用Python来实现一下,正在逃跑的小黄人.进群:7003 ...

  4. python画多个圆_python turtle库画一个方格和圆实例

    python turtle库画一个方格和圆实例 使用python的turtle库画一个方格和圆 打开python编译器,导入turtle库 from turtle import * 首先画一个距离为1 ...

  5. 用Python Turtle库画一个萌化的蜘蛛侠

    你是从什么时候开始喜欢上漫威电影的?美国队长,钢铁侠,雷神? 我先入坑的是因为看了蜘蛛侠,小时候看完就幻想着什么时候自己也能成为一个英雄,我觉得第一代蜘蛛侠刻画得是最好的,也是给我印象最深刻的一代蜘蛛 ...

  6. pythonturtle画彩虹蟒蛇_python如何用turtle库画蟒蛇?

    我是梁晨le. 学习py的第二天,今天学习了引用turtle库画蟒蛇. 一个画蟒蛇的例子学会怎么运用python去画图.接下来讲一些从中学习到的知识,并记录下来. 1/首先是引用turtle库,有三种 ...

  7. 用python的Turtle库画一个笑脸

    用python的Turtle库画一个笑脸 最近刚了解到python的turtle库,就简单的尝试一下,画一个笑脸. 效果图: 效果图看起来和原图的差别还是有点大,但是没关系,这只是一个尝试而已. 附上 ...

  8. 使用python的turtle库画表情包

    使用python的turtle库画表情包 话不多说,先上效果图,然后是代码 代码如下: import turtleturtle.penup() turtle.goto(-80,20) turtle.c ...

  9. Python -- 大作业 — 使用turtle库画皮卡丘

    使用python的turtle库画皮卡丘 一.使用环境 在这里,我使用的是python 3.8.5版本的IDLE(也可以使用其他3.0以上版本,PyCharm也是可以的). 二.内容介绍 1.主要方法 ...

最新文章

  1. 全栈工程师15年经验分享:40个改变编程技能的小技巧
  2. 【Python基础】Python的深浅拷贝讲解
  3. ProGen:蛋白质生成语言模型
  4. Python函数中apply、map、applymap的区别
  5. java 企业信息门户 拖拽排版_web中拖拽排序与java后台交互实现
  6. 关于jstl在tomcat5和tomcat6的部署
  7. B1.Java基础部分二
  8. SDF(Signed-distance-field: 有向距离场)(12): Shadow And AO(WebGL实现)增强立体感
  9. mysql 定期删除表中无用数据
  10. 根号x_【深情攻X自卑受】糖与盐by根号三
  11. [转载] Python连接MySQL、Mongodb、SQLite
  12. JAVA轻量级ORM框架JOOQ体验
  13. php流水系统,php流水账txt数据库版
  14. android文字识别apk,照片转文字识别提取apk
  15. win10计算机安全策略设置,win10系统重置本地安全策略所有设置的操作方法
  16. oracle左连接查询去重,左连接去重(objec)
  17. redis中字符串(String)类型常见命令操作 (附有示例)
  18. 防骗数据库,查询骗子电话QQ等
  19. 从零开始搭建完整的电影全栈系统(六)——影片Api示例、说明及应用
  20. 计算机专业学习资源合集 | 视频电子书资源

热门文章

  1. PHP网站分类目录管理系统源码优客365导航源码
  2. SpringBoot实训笔记
  3. 浅谈my batis 下的Bind
  4. 开源虚拟化平台之KVM
  5. vue 路由跳转携带参数
  6. 希尔排序 C语言实现
  7. 受疫情影响,新潮传媒开工首日裁员500人,你的offer还保得住吗?
  8. 搭建Flutter项目——解决证书报错
  9. C++ 头文件和源文件
  10. 【计算机科学】【2017.01】基于深度学习的语音信号增强