今天是六一儿童节,用python画了一个多啦A梦 送给小朋友们。祝福孩子们快乐成长,具体如下:

Python中引入了一个非常好用的画图内置库,Turtle,直接使用import倒入即可。它想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

turtle绘图的基础知识:

  1. 画布(canvas)

画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。

设置画布大小

turtle.screensize(canvwidth=None, canvheight=None, bg=None),参数分别为画布的宽(单位像素), 高, 背景颜色。

如:turtle.screensize(800,600, "green")

turtle.screensize() #返回默认大小(400, 300)

turtle.setup(width=0.5, height=0.75, startx=None, starty=None),参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心。

如:turtle.setup(width=0.6,height=0.6)

turtle.setup(width=800,height=800, startx=100, starty=100)

2. 画笔

2.1 画笔的状态

在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。

2.2 画笔的属性

画笔(画笔的属性,颜色、画线的宽度等)

1) turtle.pensize():设置画笔的宽度;

2) turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组。

3) turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

2.3 绘图命令

操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。

down() 画笔落下,移动时绘制图形

up() 画笔抬起,移动时不绘制图形

setheading(degree) 海龟(turtle)朝向,degree代表角度

reset() 恢复所有设置

pensize(width) 画笔的宽度

pencolor(colorstring) 画笔的颜色

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

circle(radius, extent) 绘制一个圆形,其中radius为半径,extent为度数,例如若extent为180,则画一个半圆;如要画一个圆形,可不必写第二个参数

3. 使用turtle库画多啦一梦

#Drawcat 画多啦一梦
from turtle import *
# 无轨迹跳跃
def my_goto(x, y):penup()goto(x, y)pendown()# 眼睛
def eyes():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)# 胡须
def beard():my_goto(-37, 135)seth(165)fd(60)my_goto(-37, 125)seth(180)fd(60)my_goto(-37, 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)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)fillcolor('#ffffff')begin_fill()lt(45)circle(120, 100)seth(90)eyes()seth(180)penup()fd(60)pendown()seth(90)eyes()penup()seth(180)fd(64)pendown()seth(215)circle(120, 100)end_fill()# 头型
def head():penup()circle(150, 40)pendown()fillcolor('#00a0de')begin_fill()circle(150, 280)end_fill()# 画哆啦A梦
def Doraemon():# 头部head()# 围脖scarf()# 脸face()# 红鼻子nose()# 嘴巴mouth()# 胡须beard()# 身体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)# print(pos())seth(180)fd(70)seth(90)circle(30, 180)seth(180)fd(70)# print(pos())seth(100)circle(-1000, 9)seth(-86)circle(1000, 2)seth(230)fd(40)# print(pos())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()# 左手seth(70)fillcolor('#ffffff')begin_fill()circle(-30)end_fill()# 脚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()# 右手my_goto(-133.97, -91.81)seth(50)fillcolor('#ffffff')begin_fill()circle(30)end_fill()# 口袋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)#铃铛my_goto(-103.42, 15.09)fd(90)seth(70)fillcolor('#ffd200')# print(pos())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)# 画眼睛black_eyes()if __name__ == '__main__':screensize(800,600, "#f0f0f0")pensize(3)  # 画笔宽度speed(9)    # 画笔速度Doraemon()my_goto(100, -300)write('by BMWH', font=("Bradley Hand ITC", 30, "bold"))mainloop()

长按二维码,请关注我们

六一儿童节,用python送个小礼物(附代码)相关推荐

  1. 庆祝六一儿童节:Python实现的随机礼物分配器

    这是一个简单的Python程序,这个程序将为每个儿童分配一个礼物. import random# 儿童名字列表 children_names = ['小明', '小红', '小华', '小李', '小 ...

  2. python代码示例图形-纯干货:手把手教你用Python做数据可视化(附代码)

    原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...

  3. python画图代码大全-纯干货:手把手教你用Python做数据可视化(附代码)

    原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...

  4. 拼多多校招-----六一儿童节(python)

    一.题目 题目描述 六一儿童节,老师带了很多好吃的巧克力到幼儿园.每块巧克力j的重量为w[j],对于每个小朋友i,当他分到的巧克力大小达到h[i] (即w[j]>=h[i]),他才会上去表演节目 ...

  5. 带你入门Python数据挖掘与机器学习(附代码、实例)

    作者:韦玮 来源:Python爱好者社区 本文共7800字,建议阅读10+分钟. 本文结合代码实例待你上手python数据挖掘和机器学习技术. 本文包含了五个知识点: 1. 数据挖掘与机器学习技术简介 ...

  6. 入门Python数据挖掘与机器学习(附代码、实例)

    本文包含了五个知识点: 1. 数据挖掘与机器学习技术简介 2. Python数据预处理实战 3. 常见分类算法介绍 4. 对鸢尾花进行分类案例实战 5. 分类算法的选择思路与技巧 一.数据挖掘与机器学 ...

  7. 独家 | 秘籍:10个Python字符串处理技巧(附代码)

    作者:马修·梅奥 翻译:陈之炎 校对:和中华 本文约1600字,建议阅读7分钟. 本文为你介绍利用Python处理字符串的一些基本操作. 在探寻文本分析途径时却不知从何下手,该怎么办?那么可以通过这个 ...

  8. 独家 | 数据科学家的必备读物:从零开始用 Python 构建循环神经网络(附代码)...

    作者:Faizan Shaikh 翻译:李文婧 校对:张一豪 本文约4300字,建议阅读10+分钟. 本文带你快速浏览典型NN模型核心部分,并教你构建RNN解决相关问题. 引言 人类不会每听到一个句子 ...

  9. 独家 | 从零开始用python搭建推荐引擎(附代码)

    作者:Pulkit Sharma 翻译:申利彬 校对:付宇帅 本文约10300字,建议阅读10分钟. 本文介绍了各种推荐引擎算法以及使用Python构建它们的基本框架. 简介 当今社会的每个人都面临着 ...

最新文章

  1. 用SAXBuilder、Document、Element操作xml
  2. char[],char *,string之间转换
  3. 【神经网络】Dependency Parsing的两种解决方案
  4. python 去除字符串的标点符号 用_Python输入和输出
  5. 用MATLAB三步完成机器人搭建
  6. apache gobblin mysql_gobblin简单使用
  7. mysql error 1201_ERROR 1201 (HY000): Could not initialize master info structure; .....
  8. 没有bug队——加贝——Python 练习实例 5,6
  9. 从MapX到MapXtreme2004[4]-标注AutoLabel
  10. tensorflow之成品模型
  11. 如何从seo的维度来选择网站的关键词
  12. 系统分析师考试大纲(2009版)
  13. 计算机技术排除故障网站有哪些,电脑技术交流之常见故障排除【详解】
  14. Vuepress2.X从0-1保姆级入门教程
  15. 测序技术的一些原理理解(sanger测序与illumina测序)
  16. CSS盒子模型——标准模型和IE模型的区别,如何设置标准模型、IE模型
  17. python相关专业-使用 Python 查找分类变量和连续变量之间的相关性
  18. 威海之恋 mv和歌词
  19. Linux内核安装后reboot选择,Linux内核配置选项 参考(3)
  20. 方正圆明服务器装系统的引导盘,方正一键u盘装原版 win7系统教程

热门文章

  1. 以libs方式倒入jar和aar包
  2. 商业书籍精华摘要《专注》丹尼尔·戈尔曼 Focus by Daniel·Goleman
  3. 此应用无法在你的电脑上运行,请咨询软件发布者
  4. 动态一键换肤实现思路和demo
  5. 计算机操作系统练习题(五)
  6. vue实现点击按钮保存图片
  7. 互联网摸鱼日报(2023-01-13)
  8. 动态导航多级下拉菜单 html,css3实现的多级渐变下拉菜单导航效果代码
  9. 美国知名数据分析咨询公司
  10. java字符串转公式_java把字符串转化成公式计算的示例