今年这个鼠年,尽管只是刚过了一个开头,但现实仿佛把我们很多年才需要经历的不好的事情,都在一瞬间抛向了我们,这个鼠年好像缺了点福气,本节我们使用 Python 画一只福鼠,为大家增添点福气,我们需要用到的是 turtle 库。

头部

首先,我们画福鼠的头部,头部主要包括:眼睛、耳朵、鼻子、胡子、牙齿等,代码实现如下所示:

import turtledef head():    turtle.color('black')    # 脸轮廓    turtle.fillcolor('#FFE4B5')    turtle.begin_fill()    # 落笔    turtle.pd()    # 画一个半径为指定值的圆    turtle.circle(50)    # 提笔    turtle.pu()    turtle.end_fill()    # 移动到指定坐标位置,参数 1 代表 x 轴位置,参数 2 代表 y 轴位置    turtle.goto(50, 60)    turtle.pd()    turtle.circle(25, 255)    turtle.pu()    turtle.goto(60, 80)    turtle.pd()    turtle.circle(-10, -200)    turtle.pu()    turtle.goto(-50, 60)    turtle.pd()    # 按逆时针改变行进方向    turtle.seth(180)    turtle.circle(-25, 255)    turtle.pu()    turtle.goto(-60, 80)    turtle.pd()    turtle.circle(10, -200)    turtle.pu()    # 眼睛    turtle.goto(10, 65)    turtle.seth(45)    turtle.pd()    turtle.circle(-8, 360)    turtle.pu()    turtle.goto(13, 62)    turtle.fillcolor('black')    turtle.begin_fill()    turtle.pd()    turtle.circle(-4, -360)    turtle.pu()    turtle.end_fill()    turtle.goto(-10, 65)    turtle.seth(135)    turtle.pd()    turtle.circle(8, 360)    turtle.pu()    turtle.goto(-13, 62)    turtle.fillcolor('black')    turtle.begin_fill()    turtle.pd()    turtle.circle(4, 360)    turtle.pu()    turtle.end_fill()    # 鼻子    turtle.goto(-6, 45)    turtle.seth(70)    turtle.fillcolor('red')    turtle.begin_fill()    turtle.pd()    turtle.circle(-6, 150)    turtle.pu()    turtle.end_fill()    turtle.goto(-6, 45)    turtle.seth(-70)    turtle.fillcolor('red')    turtle.begin_fill()    turtle.pd()    turtle.circle(6, 150)    turtle.pu()    turtle.end_fill()    # 嘴    turtle.goto(0, 40)    turtle.seth(270)    turtle.pd()    turtle.forward(7)    turtle.pu()    turtle.seth(200)    turtle.pd()    turtle.circle(-15, 60)    turtle.pu()    turtle.goto(0, 33)    turtle.seth(-20)    turtle.pd()    turtle.circle(15, 60)    turtle.pu()    # 牙齿    turtle.goto(0, 33)    turtle.seth(270)    turtle.pd()    turtle.forward(13)    turtle.seth(180)    turtle.forward(6)    turtle.seth(90)    turtle.forward(13)    turtle.pu()    turtle.goto(6, 33)    turtle.seth(270)    turtle.pd()    turtle.forward(13)    turtle.seth(180)    turtle.forward(6)    turtle.pu()    # 胡子    turtle.goto(30, 30)    turtle.seth(8)    turtle.pd()    turtle.circle(-40, 40)    turtle.pu()    turtle.goto(30, 25)    turtle.seth(-5)    turtle.pd()    turtle.circle(-40, 40)    turtle.pu()    turtle.goto(30, 20)    turtle.seth(-18)    turtle.pd()    turtle.circle(-40, 40)    turtle.pu()    turtle.goto(-30, 30)    turtle.seth(172)    turtle.pd()    turtle.circle(40, 40)    turtle.pu()    turtle.goto(-30, 25)    turtle.seth(188)    turtle.pd()    turtle.circle(40, 40)    turtle.pu()    turtle.goto(-30, 20)    turtle.seth(196)    turtle.pd()    turtle.circle(40, 40)    turtle.pu()

看一下效果:

帽子

接下来给福鼠画一顶帽子,我们打算把这顶帽子画得古风一点,原型选了电视剧中宋朝官员的官帽,代码实现如下所示:

def hat():    turtle.goto(-20, 97)    turtle.pd()    turtle.seth(80)    turtle.forward(20)    turtle.seth(60)    turtle.circle(-20, 140)    turtle.seth(-85)    turtle.forward(18)    turtle.pu()    turtle.goto(50, 115)    turtle.pd()    turtle.goto(-50, 115)    turtle.pu()    turtle.end_fill()    turtle.goto(19, 115)    turtle.pd()    turtle.goto(50, 115)    turtle.seth(0)    turtle.fillcolor('gold2')    turtle.begin_fill()    turtle.circle(10)    turtle.seth(90)    turtle.circle(10, 90)    turtle.seth(0)    turtle.circle(10, 90)    turtle.seth(270)    turtle.circle(10, 90)    turtle.seth(180)    turtle.circle(10, 90)    turtle.pu()    turtle.end_fill()    turtle.goto(-19, 115)    turtle.pd()    turtle.goto(-50, 115)    turtle.seth(0)    turtle.fillcolor('gold2')    turtle.begin_fill()    turtle.circle(10)    turtle.seth(90)    turtle.circle(10, 90)    turtle.seth(0)    turtle.circle(10, 90)    turtle.seth(270)    turtle.circle(10, 90)    turtle.seth(180)    turtle.circle(10, 90)    turtle.pu()    turtle.end_fill()

看一下效果:

身体

我们知道福鼠本身并不是真实存在的,而是一种以动物为原型的虚拟化形象,这种形象一般都是头部保留了动物本身的面貌,而身体是人类身体的形状,比如:西游记中孙悟空、猪八戒就是这样的,这里我们也把福鼠的身体画成人身体的形状,代码实现如下所示:

def body():    # 上半身    turtle.goto(-25, 8)    turtle.seth(240)    turtle.pd()    turtle.circle(150, 15)    turtle.seth(270)    turtle.circle(40, 15)    turtle.circle(15, 65)    turtle.seth(0)    turtle.forward(10)    turtle.circle(10, 100)    turtle.seth(90)    turtle.circle(10, 100)    turtle.seth(180)    turtle.forward(10)    turtle.pu()    turtle.goto(25, 8)    turtle.seth(-60)    turtle.pd()    turtle.circle(-150, 15)    turtle.seth(270)    turtle.circle(-40, 15)    turtle.circle(-15, 65)    turtle.seth(180)    turtle.forward(10)    turtle.circle(-10, 100)    turtle.seth(90)    turtle.circle(-10, 100)    turtle.seth(0)    turtle.forward(10)    turtle.pu()    turtle.goto(-20, 4)    turtle.pd()    turtle.goto(-16, -4)    turtle.goto(16, -4)    turtle.goto(20, 4)    turtle.pu()    turtle.goto(0, -5)    turtle.pd()    turtle.goto(0, -50)    turtle.pu()    turtle.goto(-30, -48)    turtle.pd()    turtle.goto(-30, -60)    turtle.pu()    turtle.goto(30, -48)    turtle.pd()    turtle.goto(30, -60)    turtle.pu()    turtle.goto(-30, -55)    turtle.pd()    turtle.goto(30, -55)    turtle.pu()    turtle.goto(-30, -60)    turtle.pd()    # 参数 1 为绘制颜色,参数 2 为填充颜色    turtle.color('black', 'red')    turtle.begin_fill()    turtle.goto(30, -60)    turtle.pu()    # 下半身    turtle.goto(-25, -60)    turtle.pd()    turtle.goto(-35, -100)    turtle.goto(-20, -100)    turtle.goto(-0, -60)    turtle.goto(20, -100)    turtle.goto(35, -100)    turtle.goto(25, -60)    turtle.end_fill()    turtle.pu()    turtle.goto(-33, -100)    turtle.pd()    turtle.color('black', 'blue')    turtle.begin_fill()    turtle.seth(270)    turtle.circle(6, 180)    turtle.end_fill()    turtle.pu()    turtle.goto(33, -100)    turtle.pd()    turtle.color('black', 'blue')    turtle.begin_fill()    turtle.seth(270)    turtle.circle(-6, 180)    turtle.end_fill()    turtle.pu()

看一下效果:

文字

福鼠当然少不了祝福语,我找了四句:鼠你有钱、鼠你健康、鼠你快乐、鼠你幸运,最后,我们把这四个词语分别画在福鼠的四周,代码实现如下所示:

def word():    turtle.color('red')    turtle.goto(-30, 150)    turtle.pd()    turtle.write('鼠', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(-10, 150)    turtle.pd()    turtle.write('你', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(10, 150)    turtle.pd()    turtle.write('有', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(30, 150)    turtle.pd()    turtle.write('钱', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(-30, -150)    turtle.pd()    turtle.write('鼠', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(-10, -150)    turtle.pd()    turtle.write('你', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(10, -150)    turtle.pd()    turtle.write('健', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(30, -150)    turtle.pd()    turtle.write('康', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(-90,-10)    turtle.pd()    turtle.write('鼠', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(-90, -30)    turtle.pd()    turtle.write('你', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(-90, -50)    turtle.pd()    turtle.write('快', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(-90, -70)    turtle.pd()    turtle.write('乐', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(90, -10)    turtle.pd()    turtle.write('鼠', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(90, -30)    turtle.pd()    turtle.write('你', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(90, -50)    turtle.pd()    turtle.write('幸', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.goto(90, -70)    turtle.pd()    turtle.write('运', move=False, align='center', font=('Arial', 14, 'normal'))    turtle.pu()    turtle.hideturtle()

调用代码如下:

if __name__ == '__main__':    head()    hat()    body()    word()    # 隐藏画笔    turtle.hideturtle()    # 停止画笔,但不关闭窗体    turtle.done()

看一下最终效果:

总结

本文我们使用 Python 的 turtle 库画了一只福鼠,不知道与大家想象中的福鼠形象一样吗?如果不一样呢,大家可以自己动手把这只福鼠修改成自己理想中的样子。

示例代码:https://github.com/JustDoPython/python-100-day

PS: 公号内回复 :Python,即可进入Python 新手学习交流群,一起 100天计划! -END- Python 技术 关于 Python 都在这里

如何用python画金字塔形状_用 Python 画一只福鼠相关推荐

  1. 如何用python画金字塔形状_用Python画小猪佩奇,落叶树和动漫人物

    本文目录:小猪佩奇-落叶树-魔法少女 本文作者:小赖同学 ​ 最近在浏览Python文章时,无意中发现了一个好玩的画图工具turtle,看到各路大神竟然用Python画了一个图片出来,无法用言语来形容 ...

  2. python画交互式地图_使用Python构建交互式地图-入门指南

    python画交互式地图 Welcome to The Beginner's Guide to Building Interactive Maps in Python 欢迎使用Python构建交互式地 ...

  3. python简单图画程序_用Python的Turtple画图形

    不知道各位是否还记得在小学或者初中的时候,我们接触过一种语言叫做logo语言,这个语言可以画正方形,画三角形,画圆.而用Python画图形也有点类似logo语言的意思. 在画图之前,我们需要启动一个模 ...

  4. python画猪头_使用Python画小猪佩奇 社会人标配

    看了一些用python实现小猪佩奇画画的帖子,向自己实现下,以此记录. 社会人的标配是谁,当然是吹风机小猪佩奇身上纹. 我自己尝试画过小猪配齐但是感觉眼睛特别难画,画出来的猪头没有立体感,眼睛画不好整 ...

  5. 如何用python编程机器人培训班_如何Python入门

    如何Python入门 来源:合肥童程童美少儿编程机器人培训学校时间:2020/10/30 17:22:49 学习编程没有捷径.在开始的时候,即使你打一个字,也比你什么都不做只看书要好. Python语 ...

  6. python画卡通人物_用Python 绘制儿童卡通人物,一起过儿童节

    又到一年一度的国际儿童节,今天我们来学习一下用 Python 的 Turtle 库绘制童年的卡通人物,一起做回年轻的那个少年. Turtle图形库,又称海龟库,是 Python 语言中一个很流行的绘制 ...

  7. python中tkinter模块_使用Python中的tkinter模块作图的方法

    python简述: Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程.Python[1 ...

  8. python改变图像颜色_通过python改变图片特定区域的颜色详解

    首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便找一个编程语言的数学库,里面一定有和他名字相关的一堆函数. ...

  9. python tkinter计算器实例_使用Python自带GUI tkinter编写一个期权价格计算器

    0 准备工作 首先,确认环境中有numpy.scipy.stats和tkinter三个功能包.前两个功能包可用于Python的数学计算,比如使用numpy来生成随机数用于Monte Carlo模拟,以 ...

最新文章

  1. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1061:求整数的和与均值
  2. 【Tools】TeamViewer安装教程
  3. django 1.3下关于静态文件staticfiles的设置
  4. spring boot 2使用Mybatis多表关联查询
  5. python编程自学好学吗 ?
  6. 正点原子STM32(基于标准库)
  7. 字节码增强之Javassist
  8. win10系统如何设置局域网服务器,win10系统如何设置局域网共享
  9. linux redhat 去掉警报声音
  10. python 经典ppt_Python处理PPT文件的实用姿势
  11. 参加口碑最好的广州传智播客Java就业培训班吧
  12. 计算机组装实训写总结,计算机组装维护实训总结.doc
  13. js实现公司年会抽奖活动(亲测可用)
  14. 【大数据技术应用实战】【基础课程一 Linux操作系统】Linux概述
  15. 算法竞赛入门【码蹄集进阶塔335题】(MT2076-2100)
  16. robotframework中文乱码---robotframework日志输出时出现中文以unicode编码方式
  17. 微信订阅号通过获取Openid并获取用户基本信息
  18. react 谷歌地图_谷歌地图与React
  19. 记第一次写出自己的简单python爬虫:GCZW3
  20. 【云原生】了解微服务低代码平台

热门文章

  1. SQL Server2019配置always on高可用图文步骤
  2. dvd光驱在计算机内怎么找不到,电脑找不到DVD光驱解决办法【亲测】.doc
  3. java获取图片比较相似度代码
  4. 对于互联网金融大战,第三方基金销售也成了参与者 数米、好买接连参战
  5. 公众号设置关键字自动回复图文
  6. 让国庆放1天的专家为啥“欠揍
  7. 一加3t android 7.1,安卓7.1阵营又增一员:一加3/3T迎来Android 7.1.1更新
  8. 旺店通签名(python)
  9. 正式告别,虾米音乐今日关停
  10. 100天精通Python(可视化篇)——第79天:matplotlib绘制不同种类炫酷折线图代码实战(网格、趋势、对比、百分比、多条折线、堆积、百分比堆积、多坐标子图、3D折线图)