送你一只用python实现的哆啦A梦!

技术

点击关注

一起畅游哆啦A梦的世界吧!

“哆啦a梦象征着童心、快乐、无忧无虑、

美丽、理想、纯洁的友谊”

picture.image

写在前面

Travel together

哆啦A梦

最近不少小伙伴和小编反应想要哆啦A梦的代码,这不,小编立马熬夜用python给大家敲出了一只叮当猫,喜欢哆啦A梦的小伙伴可以给小编点个赞嘛~

picture.image

系列文章

Travel together

序号文章目录直达链接
表白系列
1浪漫520表白代码无限弹窗!满屏表白代码来啦,快来看看吧
2满屏表白代码Python满屏表白代码
3跳动的爱心Python跳动的爱心源码
4漂浮爱心Python漂浮爱心源码
5爱心光波Python爱心光波代码
6流星雨Python流星雨源码
7玫瑰花叮咚,您的玫瑰花已送达~
节日系列
1生日快乐Python生日蛋糕代码
2圣诞节Python圣诞树源码
3中秋节中秋佳节将至,一起来赏月吧
4国庆节目光所至皆华夏,五星闪耀为信仰
5儿童节让代码创造童话,共建快乐世界
6万圣节终于要到我这只可爱鬼的节日啦!
7新年快乐Python烟花秀源码
动漫系列
1柯南真相只有一个!名侦探柯南来袭~
2皮卡丘我用python实现了三只可爱的皮卡丘!
3hellokitty粉红色限定丨你好我是HelloKitty!
4小灰灰谁会拒绝一只呆萌的小灰灰呢~
5喜羊羊我用python实现了一只呆萌的喜羊羊!
6Tom&Jerry汤姆永远抓不到杰瑞,我们的故事永远不会结束
7懒羊羊教你用python实现一只可爱的懒羊羊!
8灰太狼这难道是用python实现的灰太狼?
9草莓熊如何用python实现抖音爆火的草莓熊?
其他
1满天星Python星星源码
2雪花(2022)Python雪花源码
3雪花(2023)这个冬天让我们用python送她一场飘雪吧!
4模拟星空Python模拟星空代码
5樱花树樱花树下的约定,是承诺也是青春
6七彩花朵Python七彩花朵代码
7恶搞代码Python恶搞代码
8代码雨三十行代码教你实现《黑客帝国》炫酷代码雨
9蝙蝠代码万圣节特辑(一)丨 一只蝙蝠的诞生!
10南瓜头万圣节特辑(二)丨 你好恶魔南瓜头!

picture.image

Python简介

Python是一种高级编程语言,由Guido van Rossum于1989年开发,旨在提供易于阅读、易于编写和易于理解的编程语言。Python支持面向对象、函数式和过程式编程范式。它是一种解释型语言,也就是说,不需要编译即可运行。

Python具有简单、清晰、易读、易写的语法,代码风格简洁,简单易学,是一门非常适合初学者的编程语言,也是人工智能、大数据分析和科学计算等领域的首选编程语言之一。

Python可以在多种平台上运行,包括Windows、Linux、MacOS和移动设备。此外,Python有大量的第三方库和工具,使其功能更加强大和易于使用。

由于Python广泛应用于科学计算、数据分析、人工智能、网络编程、Web开发、游戏开发等领域,因此在当今的软件开发领域占据了重要地位。与其他编程语言相比,Python具有以下优点:

picture.image

1

-----------------------——

代码易读易写。Python的代码风格非常简洁,易于写和阅读。因此,在编写代码时,能够快速的定位代码的问题。

2

-----------------------——

内置数据类型。Python包含了常用的内置数据类型,如列表、字典、元组和集合等,使得开发人员能够更加高效地处理数据。

3

-----------------------——

支持面向对象编程。Python是一种面向对象的编程语言,可以方便地定义对象和类,并实现面向对象编程的特性,如继承、多态等。

4

-----------------------——

应用广泛。Python在人工智能、数据分析、Web开发、游戏开发、科学计算等领域有广泛的应用,是一个多功能的编程语言。

总的来说,Python是一种简洁、易读、易写、易学的编程语言。它具有广泛的应用领域,并且它的开源社区庞大,包含大量的第三方库和工具,使得Python成为一门非常受欢迎的编程语言。

picture.image

picture.image

Turtle简介

小海龟(Turtle)是一个由Python语言编写的图形化程序库,被称为Python的标准绘图库之一。其具有简单易学、功能强大、可扩展性高等特点,广泛应用于教育、艺术、科技等领域。

小海龟的诞生可以追溯到1967年,时任美国麻省理工学院计算机科学系主任的Seymour Papert教授,在参与研究儿童学习过程的同时,开发了一个名为“LOGO”的程序语言和图形绘制工具,旨在帮助儿童更好地理解和掌握数学、计算机科学等知识。小海龟正是从LOGO工具中演化而来。它的名字来源于LOGO中一个可以在屏幕上绘制图形的变量名,而这个变量名则是来自于Seymour Papert教授的好朋友Turtle(海龟)。

小海龟的绘图原理是基于“指令式绘图”方法,即通过编写一系列指令,控制海龟在画布上移动,并在其留下的路径上绘制线条、图形等。在Python中,使用turtle模块即可调用小海龟功能。通过turtle模块提供的一些方法,如“forward()”、“right()”、“circle()”等,我们能够对小海龟进行控制,从而实现绘制不同的图形和图案。

小海龟不仅仅是一种绘图工具,更是一种学习编程的好方式。通过自己编写小海龟程序,我们不仅能够体验到编程的乐趣,同时也能够提高自己的逻辑思维能力和创造力。在教育领域,小海龟经常被用来作为儿童编程入门的工具,帮助儿童快速上手,理解编程思路。

小海龟还有许多功能强大的扩展工具,如turtle-graphics、turtle-remote、TurtleArt等,这些工具不仅能够改进小海龟的功能,还能够让小海龟与其他设备(如树莓派、Arduino等)联动,实现更加复杂的项目。

总的来说,小海龟是一种简单易学、功能强大、可扩展性高的图形化程序库。学习使用小海龟不仅可以体验编程的乐趣,更能够锻炼自己的编程能力和创造力。

picture.image

picture.image

哆啦A梦

Travel together

哆啦A梦

哆啦A梦的寓意是多方面的,既有对人类生活的关怀,也有对未来社会的思考。

  • 珍惜时间:哆啦A梦的出现是为了提醒大雄珍惜时间,他会使用时间机器带大雄沉浸在历史和未来中的各种场景中,强调了时间的珍贵和独特价值。

  • 倡导团队合作:哆啦A梦也倡导团队合作,大雄和其他角色的互动和合作,强调了团队协作和互助的重要性。

  • 童心、快乐、无忧无虑、美丽、理想、纯洁的友谊:哆啦A梦的寓意也是童心、快乐、无忧无虑、美丽、理想、纯洁的友谊,这些元素体现了对人类美好生活的向往和对未来的乐观态度。

  • 和平、美好和美梦:在哆啦A梦的故事中,常常表达对和平、美好和美梦的追求,这是对人类社会的期望和理想。

完整程序


            
from turtle import *
            
def gotos(x, y):
            
    penup()
            
    goto(x, y)
            
    pendown()
            
# 眼睛
            
def eyes():
            
    tracer(False)
            
    a = 2.5
            
    for i in range(120):
            
        if 0 <= i < 30 or 60 <= i < 90:
            
            a -= 0.05
            
            lt(3)
            
            fd(a)
            
        else:
            
            a += 0.05
            
            lt(3)
            
            fd(a)
            
    tracer(True)
            
# 胡须
            
def beard():
            
    gotos(-37, 135)
            
    seth(165)
            
    fd(60)
            
    gotos(-37, 125)
            
    seth(180)
            
    fd(60)
            
    gotos(-37, 115)
            
    seth(193)
            
    fd(60)
            
    gotos(37, 135)
            
    seth(15)
            
    fd(60)
            
    gotos(37, 125)
            
    seth(0)
            
    fd(60)
            
    gotos(37, 115)
            
    seth(-13)
            
    fd(60)
            
# 嘴巴
            
def mouth():
            
    gotos(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():
            
    gotos(4, 148)
            
    fillcolor('#e70010')
            
    begin_fill()
            
    circle(20)
            
    end_fill()
            
# 黑眼睛
            
def black_eyes():
            
    seth(0)
            
    gotos(-20, 195)
            
    fillcolor('#000000')
            
    begin_fill()
            
    circle(13)
            
    end_fill()
            
    pensize(6)
            
    gotos(20, 205)
            
    seth(75)
            
    circle(-10, 150)
            
    pensize(3)
            
    gotos(-17, 200)
            
    seth(0)
            
    fillcolor('#ffffff')
            
    begin_fill()
            
    circle(5)
            
    end_fill()
            
    gotos(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()
            
    # 眼睛
            
    black_eyes()
            
    # 红鼻子
            
    nose()
            
    # 嘴巴
            
    mouth()
            
    # 胡须
            
    beard()
            
    # 身体
            
    gotos(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()
            
    # 脚
            
    gotos(103.74, -182.59)
            
    seth(0)
            
    fillcolor('#ffffff')
            
    begin_fill()
            
    fd(15)
            
    circle(-15, 180)
            
    fd(90)
            
    circle(-15, 180)
            
    fd(10)
            
    end_fill()
            
    gotos(-96.26, -182.59)
            
    seth(180)
            
    fillcolor('#ffffff')
            
    begin_fill()
            
    fd(15)
            
    circle(15, 180)
            
    fd(90)
            
    circle(15, 180)
            
    fd(10)
            
    end_fill()
            
    # 右手
            
    gotos(-133.97, -91.81)
            
    seth(50)
            
    fillcolor('#ffffff')
            
    begin_fill()
            
    circle(30)
            
    end_fill()
            
    # 口袋
            
    gotos(-103.42, 15.09)
            
    seth(0)
            
    fd(38)
            
    seth(230)
            
    begin_fill()
            
    circle(90, 260)
            
    end_fill()
            
    gotos(5, -40)
            
    seth(0)
            
    fd(70)
            
    seth(-90)
            
    circle(-70, 180)
            
    seth(0)
            
    fd(70)
            
    # 铃铛
            
    gotos(-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)
            
    gotos(0, -150)
            
if __name__ == '__main__':
            
    setup(1.0, 1.0)
            
    title("Doraemon")
            
    bgcolor('skyblue')
            
    speed(0)
            
    pensize(3)
            
    hideturtle()
            
    Doraemon()
            
    gotos(300, -100)
            
    write('永\n远\n爱\n你', font=("Bradley Hand ITC", 50, "bold"))
            
    mainloop()
        

程序分析

哆啦A梦

此程序使用 Python 的 Turtle 模块绘制了一个哆啦A梦。

程序分为多个函数,每个函数用于绘制不同部分的图案。下面对每个函数进行具体分析:

0 1

gotos(x, y)

该函数用于控制画笔移动到给定坐标(x, y)处。

0 2

eyes()

该函数用于绘制哆啦A梦的眼睛,先通过循环改变画笔的方向和长度,使得眼睛呈现凹凸不平、呈现出立体感的效果。

0 3

beard()

该函数用于绘制哆啦A梦的胡须。

0 4

mouth()

该函数用于绘制哆啦A梦的嘴巴,先向下移动画笔,绘制出一条垂直向下的线,然后绘制出两个弧形,形成闭合的嘴巴。

0 5

scarf()

该函数用于绘制哆啦A梦的围巾。

0 6

nose()

该函数用于绘制哆啦A梦的鼻子。

0 7

black_eyes()

该函数用于绘制哆啦A梦的黑眼睛和眼珠子。

0 8

face()

该函数用于绘制哆啦A梦的脸,先绘制出一个圆形的头部,然后调用 eyes() 和 black_eyes() 函数绘制眼睛。

0 9

head()

该函数用于绘制哆啦A梦的头型,先使用 circle() 函数绘制一段曲线,然后调用 begin_fill() 函数进行填充。

0 10

Doraemon()

该函数是主要的函数,用于绘制整个哆啦A梦的头像。先分别调用 head(), scarf(), face(), nose(), mouth(), beard() 函数绘制哆啦A梦的头部、围巾、脸、鼻子、嘴巴、胡须。然后绘制出哆啦A梦的身体、脚、左手、口袋、铃铛和眼睛。

0 11

setup(), title() , bgcolor()

这几个函数用于设置窗口的大小、标题和背景颜色。

0 12

speed()

该函数用于设置画笔的速度。

0 13

pensize()

该函数用于设置画笔的粗细。

0 14

hideturtle()

该函数用于隐藏画笔。

0 15

write()

该函数用于在绘图窗口写字。

0 16

mainloop()

该函数用于保持绘图窗口一直打开,直到手动关闭。

运行结果

picture.image

picture.image

写在后面

Travel together

Hi!

我是一只有趣的兔子,感谢你的喜欢!

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
火山引擎AB测试总体经济影响
为充分了解火山引擎A/B测试平台为企业带来的潜在投资回报,火山引擎委托Forrester Consulting使用总 体经济影响(TEI)模型进行对其A/B测试产品潜在的投资回报率(ROI)进行评估分析。该研究的目的是为了给读者提供火山引擎A/B测试产品带来潜在财务影响评估的参考。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论