对于python的创作和研发,永无止境。

python有许多功能,然而对于它能画画,令我感到非常震惊。python含有许多库,而turtle库,就是画笔,有了这个库,我们就可以通过简单的代码画出一幅美丽的画。

而这回我所要说的一个小项目,就是用python如何从零开始画一只小猪佩奇。别问我为什么画小猪佩奇,因为它好看。

首先,我们要创建一个turtle库,并且将前提条件都写好,如下

注:运用该数据库,我们所写的代码就是在一块画板上写的,在这个画板上,有一个以画板中心为原点的坐标轴,我们所有写的代码都要在这个画板范围内进行,所有写的数字都为像素,并且画笔初始位置在原点向X轴正方向。

import turtle as b #(创建一支名为b的画笔,名字可以随便起)

b.pensize(4) # 设置画笔的大小为4

b.colormode(255) # 设置GBK颜色范围为0-255

b.color((255,155,192),"pink") # 设置画笔颜色和填充颜色(pink)

b.setup(500,500) # 设置窗口的大小为500×500

b.speed(10) # 设置画笔速度为10

由代码我们可以看到,我们目前已经将所有的前提条件写好,如果此时我们运行可以看到一只画笔孤独的显示在窗口中间,也就是坐标原点,感兴趣的同学可以自己试试看。

如今前提条件已经设定好,那么我们就可以步入正题了。要想画好这个小猪佩奇,我们就要将画画分为几个步骤,就像人们拿笔画画一样,有一个先后顺序。首先我们要从它的鼻子入手,因为鼻子在左上角,这样能够先画出它的大概轮廓。首先我们要知道几个代码前进--fd 后退--bk 右转--rt 左转--lt 提笔--pu 落笔--pd 笔的角度--seth(度数) 具体如下所示:

#鼻子

b.pu()

b.goto(-100,100) # 画笔前往坐标(-100,100)

b.pd()

b.seth(-30)

b.begin_fill() # 外形填充的开始标志

a=0.4

for i in range(120):

if 0<=i<30 or 60<=i<90:

a=a+0.08

b.lt(3)

b.fd(a) #

else:

a=a-0.08

b.lt(3)

b.fd(a)

b.end_fill() # 依据轮廓填充

b.pu()

b.seth(90)

b.fd(25)

b.seth(0)

b.fd(10)

b.pd()

b.pencolor(255,155,192) # 设置画笔颜色

b.seth(10)

b.begin_fill()

b.circle(5) # 画一个半径为5的圆

b.color(160,82,45) # 设置画笔和填充颜色

b.end_fill()

b.pu()

b.seth(0)

b.fd(20)

b.pd()

b.pencolor(255,155,192)

b.seth(10)

b.begin_fill()

b.circle(5)

b.color(160,82,45)

b.end_fill()

如今鼻子已经画好,我们可以运行看一下,如图:

其实鼻子是最难画的,如果大家这里能够弄懂,那么后面都不成问题。如果看不懂也没有关系,以后我会仔细讲解turtle库的使用,希望大家多多关注。

画完鼻子后,我们就要画它的头,代码如下:

#头

b.color((255,155,192),"pink")

b.pu()

b.seth(90)

b.fd(41)

b.seth(0)

b.fd(0)

b.pd()

b.begin_fill()

b.seth(180)

b.circle(300,-30) # 顺时针画一个半径为300,圆心角为30°的园

b.circle(100,-60)

b.circle(80,-100)

b.circle(150,-20)

b.circle(60,-95)

b.seth(161)

b.circle(-300,15)

b.pu()

b.goto(-100,100)

b.pd()

b.seth(-30)

a=0.4

for i in range(60):

if 0<=i<30 or 60<=i<90:

a=a+0.08

b.lt(3)

b.fd(a)

else:

a=a-0.08

b.lt(3)

b.fd(a)

t.end_fill()

此时的运行效果如下

从这我们可以清楚的看到,小猪佩奇的头已经基本成型了,相信大家现在已经能看出来这是小猪佩奇了。剩下的我就不过多叙述了,只要理解一点就都能理解了,直接全部奉上,如果有什么不懂的给我留言即可。

#耳朵

b.color((255,155,192),"pink")

b.pu()

b.seth(90)

b.fd(-7)

b.seth(0)

b.fd(70)

b.pd()

b.begin_fill()

b.seth(100)

b.circle(-50,50)

b.circle(-10,120)

b.circle(-50,54)

b.end_fill()

b.pu()

b.seth(90)

b.fd(-12)

b.seth(0)

b.fd(30)

b.pd()

b.begin_fill()

b.seth(100)

b.circle(-50,50)

b.circle(-10,120)

b.circle(-50,56)

b.end_fill()

#眼睛

b.color((255,155,192),"white")

b.pu()

b.seth(90)

b.fd(-20)

b.seth(0)

b.fd(-95)

b.pd()

b.begin_fill()

b.circle(15)

b.end_fill()

b.color("black")

b.pu()

b.seth(90)

b.fd(12)

b.seth(0)

b.fd(-3)

b.pd()

b.begin_fill()

b.circle(3)

b.end_fill()

b.color((255,155,192),"white")

b.pu()

b.seth(90)

b.fd(-25)

b.seth(0)

b.fd(40)

b.pd()

b.begin_fill()

b.circle(15)

b.end_fill()

b.color("black")

b.pu()

b.seth(90)

b.fd(12)

b.seth(0)

b.fd(-3)

b.pd()

b.begin_fill()

b.circle(3)

b.end_fill()

#腮

b.color((255,155,192))

b.pu()

b.seth(90)

b.fd(-95)

b.seth(0)

b.fd(65)

b.pd()

b.begin_fill()

b.circle(30)

b.end_fill()

#嘴

b.color(239,69,19)

b.pu()

b.seth(90)

b.fd(15)

b.seth(0)

b.fd(-100)

b.pd()

b.seth(-80)

b.circle(30,40)

b.circle(40,80)

#身体

b.color("red",(255,99,71))

b.pu()

b.seth(90)

b.fd(-20)

b.seth(0)

b.fd(-78)

b.pd()

b.begin_fill()

b.seth(-130)

b.circle(100,10)

b.circle(300,30)

b.seth(0)

b.fd(230)

b.seth(90)

b.circle(300,30)

b.circle(100,3)

b.color((255,155,192),(255,100,100))

b.seth(-135)

b.circle(-80,63)

b.circle(-150,24)

b.end_fill()

#手

b.color((255,155,192))

b.pu()

b.seth(90)

b.fd(-40)

b.seth(0)

b.fd(-27)

b.pd()

b.seth(-160)

b.circle(300,15)

b.pu()

b.seth(90)

b.fd(15)

b.seth(0)

b.fd(0)

b.pd()

b.seth(-10)

b.circle(-20,90)

b.pu()

b.seth(90)

b.fd(30)

b.seth(0)

b.fd(237)

b.pd()

b.seth(-20)

b.circle(-300,15)

b.pu()

b.seth(90)

b.fd(20)

b.seth(0)

b.fd(0)

b.pd()

b.seth(-170)

b.circle(20,90)

#脚

b.pensize(10)

b.color((240,128,128))

b.pu()

b.seth(90)

b.fd(-75)

b.seth(0)

b.fd(-180)

b.pd()

b.seth(-90)

b.fd(40)

b.seth(-180)

b.color("black")

b.pensize(15)

b.fd(20)

b.pensize(10)

b.color((240,128,128))

b.pu()

b.seth(90)

b.fd(40)

b.seth(0)

b.fd(90)

b.pd()

b.seth(-90)

b.fd(40)

b.seth(-180)

b.color("black")

b.pensize(15)

b.fd(20)

#尾巴

b.pensize(4)

b.color((255,155,192))

b.pu()

b.seth(90)

b.fd(70)

b.seth(0)

b.fd(95)

b.pd()

b.seth(0)

b.circle(70,20)

b.circle(10,330)

b.circle(70,30)

这样我们的小猪佩奇就做好了,感兴趣的同学可以将这些代码复制粘贴亲自测试一下,最后附上一张效果图

这次讲了不少内容,有的句子可能我说的比较啰嗦,因为我希望新手小白也可以搞明白,希望大家能够多多支持理解。希望我的回答能够对大家有所帮助,如果有什么不懂的一定要私信我,近期我会对python的turtle库着重讲解,请大家多多关注,谢谢大家。

这套小猪佩奇的代码来源于CSDN博主——蝴蝶侠不会飞,我只是做了删改与补充,侵删。

python心得体会300字_有没有简单一点的 Python 小例子或小项目?相关推荐

  1. 上网课的心得体会1000字_上网课心得体会300字 上网课的心得体会

    说到上网课心得体会300字,想必大家对上网课的心得体会有一定了解,那么,上网课心得体会模板和上网课心得体会300字这是怎么回事?下面就一起来了解下老师让我们写一篇上完公开课的感想,不少于300字.急, ...

  2. python读书心得体会范文_读书心得体会600字_关于读书的心得体会范文(3篇)

    读书心得体会 600 字 _ 关于读书的心得体会范文 (3 篇 ) 读书心得体会 600 字 ( 一 ) 在鲁迅的小说中,<伤逝>是最令我喟叹的一篇,看 过后很久都不能释怀.子君给了我相当 ...

  3. 学计算机的好处处300字,学计算机的心得体会300字

    学计算机的心得体会300字 我们从一些事情上得到感悟后,可以寻思将其写进心得体会中,这么做可以让我们不断思考不断进步.那么好的心得体会都具备一些什么特点呢?以下是小编精心整理的学计算机的心得体会300 ...

  4. 计算机flash实训体会与收获,实训收获和心得体会300字

    实训收获和心得体会300字 心中有不少心得体会时,往往会写一篇心得体会,如此可以一直更新迭代自己的想法.你想好怎么写心得体会了吗?以下是小编精心整理的实训收获和心得体会300字,供大家参考借鉴,希望可 ...

  5. python心得体会200字_50行代码让python自动生成文章

    不知道从小到大,我们被迫写了多少心得体会,多少人生感想,如果真情实地的去感受写作然后成长当然很好,但是更多的都是形式主义的需求,并没有人去看里面的内容,白白浪费我们多少大好时光,有时候我们ctrl,C ...

  6. 学python心得体会800字-python心得体会

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 前些日子用python基于prometheus开发了一个vsphere volum ...

  7. 学python心得体会500字-英泰移动通信:学习Python心得体会

    原标题:英泰移动通信:学习Python心得体会 我今年刚毕业就去了外地开始找工作,我发现就我们学的理论知识来说能上岗的有技术含量的工作不多,所有接到的面试大部分都是让做销售,这对于我们刚毕业的学生来说 ...

  8. 学python心得体会500字-Python初学心得体会

    首先分别搭建在Linux和Windows下的python环境,这里有一个小的麻烦,就是在Windows的浏览器使用jupyter时,需要在Linux中python家目录中将防火墙服务打开,否则无法打开 ...

  9. 学python心得体会800字-Python初学心得体会

    首先分别搭建在Linux和Windows下的python环境,这里有一个小的麻烦,就是在Windows的浏览器使用jupyter时,需要在Linux中python家目录中将防火墙服务打开,否则无法打开 ...

最新文章

  1. boost::mpl模块实现set_c相关的测试程序
  2. ArcGIS实验教程——实验八:矢量数据拼接
  3. 前端学习(731):函数的使用
  4. 如何安全使用计算机,如何安全的使用计算机
  5. 创建oracle数据库
  6. namenode开启DEBUG
  7. MVC4 数据验证、特性、自动属性总结
  8. python列表字典元祖_python列表,字典,元组常用方法和集合
  9. 第二章、使用变量、操作符和表达式
  10. 去掉超链接或图片热点链接虚线框
  11. 图像处理实践 | 水果图像的识别与分类
  12. App Store2016年最新审核规则
  13. python 分布式 调度 管理_分布式云调度处理系统
  14. Steve Hui:云联云是中国云计算的最好切入点(4月刊推荐)
  15. matlab中ga函数的用法,MATLAB中自带遗传算法函数GA的用法
  16. 如何使用Graylog来收集日志?
  17. 面向对象程序设计c++版董正言张聪课本课后习题答案第四章
  18. Mingw + msys编译libmono.so
  19. HTML5期末大作业:电影网页设计——在线影院6页(代码质量好) 学生DW网页设计作业源码 web课程设计网页规划与设计
  20. 5个流水灯c语言程序,五种编程方式实现流水灯的单片机C程序

热门文章

  1. win7删除控制面板中的JAVA”
  2. 1078 Hashing (25 分)【难度: 一般 / 知识点: 哈希表二次探测法】
  3. 【PAT乙级】1043 输出PATest (20 分)
  4. View页面间的跳转
  5. hexo博客生成博文,当生成的文章数量超过1000时,耗尽所有内存资源后出现out of memory
  6. 深入理解Java虚拟机-Java内存区域透彻分析
  7. 桥接路由器总是掉线_多路由的无线桥接步骤
  8. 关掉magiskhide_Magisk v20.4 – The Magic Mask for Android 安裝流程
  9. (静态资源处理)nginx 比tomcat强在哪
  10. 图片上传时即时生成多个缩略图