Python圣诞树_圣诞树代码python

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

| 粉色圣诞树(2023) | https://want595.blog.csdn.net/article/details/135043042 |
| 3 | 冬至 | 大雪纷飞 | https://want595.blog.csdn.net/article/details/128806017 |
| 4 | 生日 | 生日蛋糕 | https://want595.blog.csdn.net/article/details/128739755 |
| 5 | 儿童节 | 五彩气球 | https://want595.blog.csdn.net/article/details/128741043 |
| 6 | 国庆节 | 国庆祝福 | https://want595.blog.csdn.net/article/details/128740923 |
| 7 | 万圣节 | 万圣礼物 | https://want595.blog.csdn.net/article/details/128734395 |
| 8 | 愚人节 | 愚人代码 | https://want595.blog.csdn.net/article/details/128696990 |
| 9 | 中秋节 | 浪漫星空 | https://want595.blog.csdn.net/article/details/128737284 |
| 10 | 植树节 | 樱花树 | https://want595.blog.csdn.net/article/details/128700178 |
| 动漫系列 |
| 1 | 名侦探柯南系列 | 柯南 | https://want595.blog.csdn.net/article/details/134777613 |
| 2 | 喜羊羊与灰太狼系列 | 喜羊羊 | https://want595.blog.csdn.net/article/details/134778583 |
| 懒羊羊 | https://want595.blog.csdn.net/article/details/134847642 |
| 灰太狼 | https://want595.blog.csdn.net/article/details/135335303 |
| 小灰灰 | https://want595.blog.csdn.net/article/details/135335445 |
| 小香香 | https://want595.blog.csdn.net/article/details/135056783 |
| 3 | 海绵宝宝系列 | 海绵宝宝 | https://want595.blog.csdn.net/article/details/134847364 |
| 4 | 哆啦A梦系列 | 哆啦A梦 | https://want595.blog.csdn.net/article/details/135037884 |
| 5 | HelloKitty系列 | hellokitty | https://want595.blog.csdn.net/article/details/135337732 |
| 6 | Tom&Jerry系列 | Tom&Jerry | https://want595.blog.csdn.net/article/details/135337775 |
| 7 | 草莓熊系列 | 草莓熊 | https://want595.blog.csdn.net/article/details/135337832 |
| 8 | 皮卡丘系列 | 迷你皮卡丘 | https://want595.blog.csdn.net/article/details/135337911 |
| 高级皮卡丘 | https://want595.blog.csdn.net/article/details/135337937 |
| 豪华皮卡丘 | https://want595.blog.csdn.net/article/details/135337947 |
| 炫酷系列 |
| 1   | 一闪一闪亮星星系列 | 张万森下雪了 | https://want595.blog.csdn.net/article/details/135336915 |
| 一闪一闪亮星星 | https://want595.blog.csdn.net/article/details/135337049 |
| 2 | 代码雨 | https://want595.blog.csdn.net/article/details/135054341 |
| 3 | 七彩花朵 | https://want595.blog.csdn.net/article/details/135056670 |
| 4 | 3D星空 | https://want595.blog.csdn.net/article/details/135056516 |
| 5 | 金榜题名 | https://want595.blog.csdn.net/article/details/135056150 |
| 6 | 满天星 | https://want595.blog.csdn.net/article/details/135056305 |
| …… |

前言

一年一度的圣诞节又要来喽在这么浪漫的节日里怎么能少的了一个浪漫的程序员呢让我们一起画个圣诞树,送给你喜欢的那个人吧~

圣诞树

一、实现步骤

用Python的小海龟实现(Turtle)

具体分为五个步骤:

(1)圣诞树

(2)星星

(3)礼物

(4)雪花

(5)祝福

二、编码实现

1. 圣诞树

程序设计

def tree(d,s):      #运用递归的方法画圣诞树
    t.hideturtle()              #隐藏画笔
    t.pencolor('limegreen')     #画笔颜色置为绿色,用来画树
    t.pensize(5)                #画笔大小为5
    t.speed(0)                  #最快速度画树(其实挺慢的)
    if d<=0:
        return
    t.forward(s)
    tree(d-1,s*0.8)
    t.right(120)
    tree(d-3,s*0.5)
    t.right(120)
    tree(d-3,s*0.5)
    t.right(120)
    t.backward(s)
……

程序分析

这段代码是用 Python 的 turtle 模块,画出一个圣诞树的函数。圣诞树由一个树干和很多层树叶构成,树叶要用递归的方式画出来。画树的函数 tree(d,s) 中,d 表示树的深度,s 表示树的长度,如果深度为 0,则返回,否则画出一条长度为 s 的线段。然后分别右转 120 度,调用 tree(d-3, s*0.5) 画出树叶,如此递归下去,直到深度为 0。而函数 trees() 则先画出一个树根,然后调用 tree() 画出树叶,最后画出一个大星星。其中需要用到 turtle 模块中的一些函数,比如 goto()、up()、down()、right() 等等。

2. 星星

程序设计

def star():     #画圣诞树顶的大星星
    t.hideturtle()      #隐藏画笔
    t.pensize(2)        #给画笔设置大小
    t.pencolor("gold")  #给画笔设置颜色,'gold'表示金色
    t.up()              #提起画笔,画笔移动时不会画画
    t.forward(5)        #将画笔向前移5个像素(此时画笔方向向右,即向右移动5个像素)
    t.down()            #画笔放下,画笔移动时会产生轨迹
    t.begin_fill()      #给星星填充颜色
    for i in range(5):  #因为是五角星,所以要循环五次画五个角
        t.forward(20)
        t.right(144)
        t.forward(20)
        t.left(72)
    t.fillcolor('yellow')   #设置填充的颜色
    t.end_fill()
    return
def stars():          #画圣诞树上的小星星
    t.hideturtle()       #隐藏画笔
    t.speed(0)           #设置画画速度,0为最快速
    t.pensize(5)         #设置画笔大小
    for i in range(5):   #循环五次画五个角,与画大星星一样
        t.forward(5)
        t.right(144)
        t.forward(5)
        t.left(72)
    return
……

程序分析

这段代码用 turtle 模块画出了圣诞树上的星星。其中画大星星的函数 star(),先将画笔向前移动了 5 个像素,然后用 for 循环画出五个角,每次向前移动 20 个像素,右转 144 度(因为五角星每个角是 36 度),向前移动 20 个像素,左转 72 度。最后用 begin_fill()、fillcolor()、end_fill() 函数给星星填充颜色,并返回。画小星星的函数 stars() 与 star() 类似,只是少了填充的步骤。而画圣诞树上所有星星的函数 stares(),则使用了循环,可以画出不同颜色、不同位置的星星。首先设定初始值 x1=-110、x2=110、y1=-40 和 y2=-15,用来控制星星在圣诞树上的位置。然后定义颜色列表 c,用 for 循环画出不同颜色的星星。每画一个星星,n 加一,根据 n 的奇偶性判断是在圣诞树左边还是右边画星星,然后用 randint() 函数随机生成星星的坐标,接着调用 stars() 函数画出星星,最后更新 x1、x2、y1、y2 的值,保证下一个星星的位置在上一个星星的周围。

3. 雪花

程序设计

def snow():            #画雪花(全屏)
    t.hideturtle()     #隐藏画笔
    t.pensize(2)       #画笔大小
    t.speed(0)         #画雪花的速度
    for i in range(500):          #循环画500个雪花
        t.pencolor('white')       #雪花是白色的
        t.penup()                 #提笔
        t.setx(r.randint(-1000,1000))     #在画布上随机找点
        t.sety(r.randint(-1000,1000))
        t.pendown()
        snowsize=r.randint(4,10)          #雪花大小
        for i in range(6):            #画雪花(雪花为六瓣,需要循环六次)
            t.forward(int(snowsize))
            t.backward(int(snowsize))
            t.left(60)

程序分析

这段代码用 turtle 模块画出了一个全屏的雪花效果。首先定义 snow() 函数,里面包含了循环 500 次,画出 500 个雪花的过程。其中要注意,每画一个雪花都要先将笔提起,然后随机在画布上找一个点,再将笔放下,开始画雪花。接着定义雪花的大小 snowsize,大小是随机生成的,范围是 4 到 10。然后用 for 循环画出六瓣雪花,每画一瓣,向前移动 snowsize 像素,再向后移动 snowsize 像素,最后左转 60 度。这样循环六次就可以画出一个完整的雪花了。用 pencolor() 函数将雪花的颜色设置为白色,用 randint() 函数随机生成坐标,用 speed() 函数设置画雪花的速度为 0(最快速度),用 pensize() 函数设置画笔的粗细为 2。最后调用这个函数,就可以看到一个全屏都是飘雪花的效果了。

4. 礼物

程序设计

def gift():       #画正方体礼物盒
    t.hideturtle()       #隐藏画笔
    t.speed(0)           #画笔速度
    x=40    #礼物盒的长和宽,我设置为正方形礼物盒,长宽高相等
    y=16    #由于是立体图形,宽与长不一样
    for i in range(4):    #以下为画礼物盒的方法(x,y的值可以自行修改)
        t.forward(x)
        t.left(90)
    t.up()
    t.left(45)
    t.forward(y)
    t.right(45)
    t.down()
    for i in range(4):
        t.forward(x)
        t.left(90)
    t.up()
    t.right(135)
    t.forward(y)
    t.down()
    t.left(180)
    t.forward(y)
    t.backward(y)
    t.right(45)
    t.forward(x)
    t.left(45)
    t.forward(y)
    t.backward(y)
    t.left(45)
    t.forward(x)
    t.right(45)
    t.forward(y)
    t.backward(y)
    t.left(135)
    t.forward(x)
    t.right(135)
    t.forward(y)
    t.backward(y)
    t.right(135)
    t.forward(x)
    t.left(90)
……

程序分析

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值