前言

大家好,我是菜鸟小白。明天就是一年一度的六一儿童节,虽然我们早已过了那个年纪,但是不妨碍我们拥有一颗年轻的过节心呀。那今天我们通过学习python的Turtle库来画一个哆啦A梦,共同庆祝六一儿童节呗。

下面这个就是我们期望完成的目标。

Turtle简介

Turtle最早来自于LOGO语言,是专门用于小孩子学习编程的,通过编程模拟一只turtle(海龟)在画板上爬行绘制图案,后来很多高级语言都移植了海龟绘图,python从2.6之后也将turtle库加入了其内部库中。由于是内部库,使用import turtle语句就能引入turtle库,绘图主要有以下几个步骤:设置画板、设置画笔、控制海龟移动绘制图形、色彩填充等。

常用函数

1、画布设置

  • screensize(canvwidth,canvheight,bg):设置画布大小和背景色

2、画笔控制函数

  • penup():抬起画笔;

  • pendown():落下画笔;

  • pensize(width):画笔宽度;

  • speed(speed):画笔速度;
  • pencolor(color):画笔颜色;color为颜色字符串或者rgb值;

  • goto(x,y):将画笔移动到坐标为x,y的位置;

  • fillcolor(colorstring):绘制图形的填充颜色;

  • begin_fill():准备开始填充图形;

  • end_fill():填充完成;

3、运动控制函数

  • forward(d)/fd(d):直行d个像素;

  • circle(r, extent = None):绘制半径为r,角度为extent的弧形,圆心默认在海龟左侧距离r的位置;

4、方向控制函数

  • setheading(angle)/seth(angle):改变前进方向;

  • left(angle):海龟左转;

  • right(angle):海龟右转;

哆啦A梦绘画

接下来我们画一个哆啦A梦来回顾一下我们学习的内容

from turtle import *# 无轨迹跳跃
def my_goto(x, y):penup()goto(x, y)pendown()# 眼睛
def eyes():fillcolor("#ffffff")begin_fill()tracer(False)a = 2.5for i in range(120):if 0 <= i < 30 or 60 <= i < 90:a -= 0.05lt(3)fd(a)else:a += 0.05lt(3)fd(a)tracer(True)end_fill()# 胡须
def beard():my_goto(-32, 135)seth(165)fd(60)my_goto(-32, 125)seth(180)fd(60)my_goto(-32, 115)seth(193)fd(60)my_goto(37, 135)seth(15)fd(60)my_goto(37, 125)seth(0)fd(60)my_goto(37, 115)seth(-13)fd(60)# 嘴巴
def mouth():my_goto(5, 148)seth(270)fd(100)seth(0)circle(120, 50)seth(230)circle(-120, 100)# 围巾
def scarf():fillcolor('#e70010')begin_fill()seth(0)fd(200)circle(-5, 90)fd(10)circle(-5, 90)fd(207)circle(-5, 90)fd(10)circle(-5, 90)end_fill()# 鼻子
def nose():my_goto(-10, 158)seth(315)fillcolor('#e70010')begin_fill()circle(20)end_fill()# 黑眼睛
def black_eyes():seth(0)my_goto(-20, 195)fillcolor('#000000')begin_fill()circle(13)end_fill()pensize(6)my_goto(20, 205)seth(75)circle(-10, 150)pensize(3)my_goto(-17, 200)seth(0)fillcolor('#ffffff')begin_fill()circle(5)end_fill()my_goto(0, 0)# 脸
def face():fd(183)lt(45)fillcolor('#ffffff')begin_fill()circle(120, 100)seth(180)# print(pos())fd(121)pendown()seth(215)circle(120, 100)end_fill()my_goto(63.56,218.24)seth(90)eyes()seth(180)penup()fd(60)pendown()seth(90)eyes()penup()seth(180)fd(64)# 头型
def head():penup()circle(150, 40)pendown()fillcolor('#00a0de')begin_fill()circle(150, 280)end_fill()# 身体
def body():my_goto(0, 0)seth(0)penup()circle(150, 50)pendown()seth(30)fd(40)seth(70)circle(-30, 270)fillcolor('#00a0de')begin_fill()seth(230)fd(80)seth(90)circle(1000, 1)seth(-89)circle(-1000, 10)seth(180)fd(70)seth(90)circle(30, 180)seth(180)fd(70)seth(100)circle(-1000, 9)seth(-86)circle(1000, 2)seth(230)fd(40)circle(-30, 230)seth(45)fd(81)seth(0)fd(203)circle(5, 90)fd(10)circle(5, 90)fd(7)seth(40)circle(150, 10)seth(30)fd(40)end_fill()# 左手
def left_hand():seth(70)fillcolor('#ffffff')begin_fill()circle(-30)end_fill()# 脚
def foot():my_goto(103.74, -182.59)seth(0)fillcolor('#ffffff')begin_fill()fd(15)circle(-15, 180)fd(90)circle(-15, 180)fd(10)end_fill()my_goto(-96.26, -182.59)seth(180)fillcolor('#ffffff')begin_fill()fd(15)circle(15, 180)fd(90)circle(15, 180)fd(10)end_fill()# 右手
def right_hand():my_goto(-133.97, -91.81)seth(50)fillcolor('#ffffff')begin_fill()circle(30)end_fill()# 口袋
def pocket():my_goto(-103.42, 15.09)seth(0)fd(38)seth(230)begin_fill()circle(90, 260)end_fill()my_goto(5, -40)seth(0)fd(70)seth(-90)circle(-70, 180)seth(0)fd(70)# 铃铛
def bell():my_goto(-103.42, 15.09)fd(90)seth(70)fillcolor('#ffd200')begin_fill()circle(-20)end_fill()seth(170)fillcolor('#ffd200')begin_fill()circle(-2, 180)seth(10)circle(-100, 22)circle(-2, 180)seth(180 - 10)circle(100, 22)end_fill()goto(-13.42, 15.09)seth(250)circle(20, 110)seth(90)fd(15)dot(10)my_goto(0, -150)# 画哆啦A梦
def Doraemon():head()    # 头部scarf()    # 围脖face()    # 脸nose()    # 红鼻子mouth()    # 嘴巴beard()    # 胡须body()    # 身体left_hand()    # 左手foot()    # 脚right_hand()    # 右手pocket()    # 口袋bell()    # 铃铛black_eyes()    # 画眼睛if __name__ == '__main__':screensize(1500, 1500, "#ffffff")setup(0.9, 0.9)pensize(3)  # 画笔宽度speed(9)    # 画笔速度Doraemon()my_goto(100, -300)write('六一儿童节快乐', font=("Bradley Hand ITC", 30, "bold"))mainloop()

程序执行过程

我们完成运行程序,整个绘制过程如下所示

源码和可执行文件获取

今天的内容比较简单,但是还是建议大家自己动手写一写,只有自己动手写了,才明白自己有哪些地方不清楚。

有需要源码和可执行程序的,老规矩,关注微信公众号“菜鸟小白的学习分享”回复“六一儿童节”即可。

最后,祝大家永远保持一颗充满童真童趣的心,六一儿童节快乐~

往期推荐

python实现一个表白神器,520还怕一个人过么

文件和文件夹操作,学会这八个方法就够了,必须收藏备用

这个母亲节的礼物,我为你们准备好了!(内含福利)

关注菜鸟小白的学习分享 更多精彩等你发现!

一个人学习——孤单

一群人学习——幸福

喜欢我就点亮小花吧

决定了,儿童节我们用python画这个...相关推荐

  1. 六一儿童节,用python送个小礼物(附代码)

    今天是六一儿童节,用python画了一个多啦A梦 送给小朋友们.祝福孩子们快乐成长,具体如下: Python中引入了一个非常好用的画图内置库,Turtle,直接使用import倒入即可.它想象一个小乌 ...

  2. 用python画爱心的代码-Python一行代码画个爱心案例

    昨天六一儿童节,大小朋友都过节了,真好!"人生易老天难老",这很现实,读这句诗不期然就有一种沧桑的感觉.而要人生幸福,是需要保持一颗童心的.<三字经>开篇说" ...

  3. 用python画蜡笔小新的步骤_#6.1# 用python画出你的童年回忆

    .1# 用python画出你的童年回忆 张同学 凹凸数据 本文来自「凹凸数据」读者投稿,欢迎大家分享更多优质内容!奖励多多~ 大家好,我是张同学. 又到一年一度的国际儿童节,作为逢节必过的程序猿,怎么 ...

  4. python画小猪佩奇视频_用 Python 20 秒画完小猪佩奇“社会人”!附效果视频+完整代码...

    原标题:用 Python 20 秒画完小猪佩奇"社会人"!附效果视频+完整代码 导读:今年社交平台上最火的带货女王是谁?范冰冰?杨幂?Angelababy?不,是猪猪女孩小猪佩奇. ...

  5. 怎么用python画个电脑_python语言还是java如何用python画爱心

    用python绘制爱心的基本步骤如下: 002pc.com对<python语言还是java如何用python画爱心>总结来说,为我们学习Python很实用. 首先先下载安装好python程 ...

  6. 开学季,教你用Python画大学教室座位神分区图!网友直呼“中枪”

    作者 | 丁彦军 转载自恋习Python(ID:sldata2017) 我们上过大学的朋友们都知道,大学没有固定教室也没有固定的座位,所以大家可以随便找个自己喜欢的位置坐下. 别看这些不起眼的座位,感 ...

  7. 圣诞节!教你用Python画棵圣诞树

    作者 | 糖甜甜甜,985高校经管研二,擅长用 Python.R.tableau 等工具结合统计学和机器学习模型做数据分析. 来源 | 经管人学数据分析(ID:DAT-2017) 如何用Python画 ...

  8. 用python画时序图源代码_使用python实现画AR模型时序图

    背景: 用python画AR模型的时序图. 结果: 代码: import numpy as np import matplotlib.pyplot as plt """ ...

  9. 用python画微信捂脸_用 Python 画一个捂脸表情

    微信中的捂脸表情相信大家都不陌生,我见过以及自己使用这个表情的频率都是比较高的,可以说这个表情算是大部分人的主打表情之一了,本文我使用 Python 来画一下这个表情,我们使用到的库还是 turtle ...

  10. echarts词云图形状_怎么用Python画出好看的词云图?

    相信很多人在第一眼看到下面这些图时,都会被其牛逼的视觉效应所吸引,这篇文章就教大家怎么用Python画出这种图. 前期准备 上面的这种图叫做词云图,主要用途是将文本数据中出现频率较高的关键词以可视化的 ...

最新文章

  1. 260万奖金池!目标检测新赛事来了
  2. PyTorch中的C++扩展
  3. CloudFoundry cf push命令报错误码223的解决方法
  4. 文献管理:文献管理软件Mendeley的基本使用和导出参考文献方法
  5. Luogu4113 [HEOI2012]采花
  6. 计算机播放音乐没声音为什么,电脑没声音是怎么回事?教你怎么修复
  7. c/c++ 洛谷 P1428 小鱼比可爱
  8. idea中不显示代码下边的下划线
  9. 什么是微信公众号矩阵模式?
  10. 挂耳耳机十大品牌排行榜哪个好,目前排行靠前的五款耳机推荐
  11. Android学习视频推荐
  12. 在hbuilder制作APP时使用echarts:堆叠柱状图
  13. 学习--unix信号
  14. 【第83期】10 款你不知道的 Linux 环境下的替代工具!
  15. 提示The import XXX cannot be resolved
  16. jTemplates异步加载实现与HTML5 video视频开发
  17. 斐讯音箱控制扫地机器人_斐讯商城教您,如何正确使用扫地机器人?
  18. 幼儿园里如何运用计算机技术,论多媒体技术在幼儿园教学中的应用
  19. NBIOT经典回答【转】
  20. 开源无疆|京东云参加2019开源年会,助力开源

热门文章

  1. S3C2440裸机------GPIO
  2. c语言1到100奇数和与偶数和,C语言实现1到100的和奇数与偶数和
  3. 微软五笔 v1.0 下载
  4. 2012考研数学二第(21)题——中值定理:零点定理+数列极限:单调有界准则
  5. C/C++编程笔记:飞翔的小鸟(Flappy Bird)——C语言版本
  6. 之江汇空间如何加音乐背景_添加QQ空间背景音乐添加图文教程
  7. ssh遇到密钥更改问题
  8. 8. 无线体内纳米网:基于蓝牙LE接口的数字ID系统
  9. GPRS无线MODEM模块上网设置命令
  10. STC89C51系列 EEPROM测试程序 证明扇区512个字节的擦除