哈喽~大家好!我是恰恰,大家都知道马上就要圣诞节啦!想想都觉得挺期待的,我真是为你们操碎了心呢,有女朋友的小伙伴还不快来学会用Python做一个圣诞树给女朋友,当然啦,没有女朋友的,也可以学会了给喜欢的女孩子的一个小惊喜,Python真的是除了不会生孩子,其他的都可以呢,还可以帮你们追女孩子哈哈哈~

首先我们来看看,Python画一颗豪华的圣诞树源代码,采用turtle库。程序运行截图:


import turtle as t  # as就是取个别名,后续调用的t都是turtle
from turtle import *
import random as r
import timen = 100.0speed("fastest")  # 定义速度
screensize(bg='black')  # 定义背景颜色,可以自己换颜色
left(90)
forward(3 * n)
color("orange", "yellow")  # 定义最上端星星的颜色,外圈是orange,内部是yellow
begin_fill()
left(126)for i in range(5):  # 画五角星forward(n / 5)right(144)  # 五角星的角度forward(n / 5)left(72)  # 继续换角度
end_fill()
right(126)def drawlight():  # 定义画彩灯的方法if r.randint(0, 30) == 0:  # 如果觉得彩灯太多,可以把取值范围加大一些,对应的灯就会少一些color('tomato')  # 定义第一种颜色circle(6)  # 定义彩灯大小elif r.randint(0, 30) == 1:color('orange')  # 定义第二种颜色circle(3)  # 定义彩灯大小else:color('dark green')  # 其余的随机数情况下画空的树枝color("dark green")  # 定义树枝的颜色
backward(n * 4.8)def tree(d, s):  # 开始画树if d <= 0: returnforward(s)tree(d - 1, s * .8)right(120)tree(d - 3, s * .5)drawlight()  # 同时调用小彩灯的方法right(120)tree(d - 3, s * .5)right(120)backward(s)tree(15, n)
backward(n / 2)for i in range(200):  # 循环画最底端的小装饰a = 200 - 400 * r.random()b = 10 - 20 * r.random()up()forward(b)left(90)forward(a)down()if r.randint(0, 1) == 0:color('tomato')else:color('wheat')circle(2)up()backward(a)right(90)backward(b)t.color("dark red", "red")  # 定义字体颜色
t.write("Merry Christmas", align="center", font=("Comic Sans MS", 40, "bold"))  # 定义文字、位置、字体、大小def drawsnow():  # 定义画雪花的方法t.ht()  # 隐藏笔头,ht=hideturtlet.pensize(2)  # 定义笔头大小for i in range(200):  # 画多少雪花t.pencolor("white")  # 定义画笔颜色为白色,其实就是雪花为白色t.pu()  # 提笔,pu=penupt.setx(r.randint(-350, 350))  # 定义x坐标,随机从-350到350之间选择t.sety(r.randint(-100, 350))  # 定义y坐标,注意雪花一般在地上不会落下,所以不会从太小的纵座轴开始t.pd()  # 落笔,pd=pendowndens = 6  # 雪花瓣数设为6snowsize = r.randint(1, 10)  # 定义雪花大小for j in range(dens):  # 就是6,那就是画5次,也就是一个雪花五角星# t.forward(int(snowsize))  #int()取整数t.fd(int(snowsize))t.backward(int(snowsize))# t.bd(int(snowsize))  #注意没有bd=backward,但有fd=forward,小bugt.right(int(360 / dens))  # 转动角度drawsnow()  # 调用画雪花的方法
t.done()  # 完成,否则会直接关闭

2、简化版方形块圣诞树源代码


import turtle
screen = turtle.Screen()
screen.setup(375, 700)
circle = turtle.Turtle()
circle.shape('circle')
circle.color('red')
circle.speed('fastest')
circle.up()
square = turtle.Turtle()
square.shape('square')
square.color('green')
square.speed('fastest')
square.up()
circle.goto(0, 280)
circle.stamp()
k = 0
for i in range(1, 13):y = 30 * ifor j in range(i - k):x = 30 * jsquare.goto(x, -y + 280)square.stamp()square.goto(-x, -y + 280)square.stamp()
if i % 4 == 0:x = 30 * (j + 1)circle.color('red')circle.goto(-x, -y + 280)circle.stamp()circle.goto(x, -y + 280)circle.stamp()k += 3
if i % 4 == 3:x = 30 * (j + 1)circle.color('yellow')circle.goto(-x, -y + 280)circle.stamp()circle.goto(x, -y + 280)circle.stamp()
square.color('brown')
for i in range(13, 17):y = 30 * ifor j in range(2):x = 30 * jsquare.goto(x, -y + 280)square.stamp()square.goto(-x, -y + 280)square.stamp()

源码都在这里啦~赶快实践起来吧!祝所有学Python的小伙伴都脱单哦~哈哈

喜欢的朋友点个赞,评论收藏一下哦~感谢各位!

单身的看过来啦~圣诞节的圣诞树源码在这里,快做了发给喜欢的对象相关推荐

  1. java带参数的构造方法_看了Java的Class的源码,我自闭了

    作者丨chenweicool 来源:https://www.cnblogs.com/chentang/p/13170081.html 1.class这个类是什么 Class的本质也是一个类,只不过它是 ...

  2. 【朝花夕拾】Android自定义View之(一)手把手教你看懂View绘制流程——向源码要答案

    前言 原文:Android自定义View之(一)手把手教你看懂View绘制流程--向源码要答案 View作为整个app的颜值担当,在Android体系中占有重要的地位.深入理解Android View ...

  3. 菜鸟带你看源码——看不懂你打我ArrayList源码分析(基于java 8)

    文章目录 看源码并不难 软件环境 成员变量: 构造方法 核心方法 get方法 remove方法 add方法 结束 看源码并不难 如何学好编程?如何写出优质的代码?如何快速提高自己的编程能力?等等一系列 ...

  4. 看图猜成语小程序源码+详细搭建教程

    本小程序可开通流量主 ,后台可以自行设置关卡.等级.也可以一键部署, 开通流量主之后实现躺赚,你懂得. 个人号也可以开通,审核一次性必过. 类目选择 教育 小程序源码下载地址:(8条消息) 看图猜成语 ...

  5. html圣诞树代码_支持手机选择背景音乐圣诞树源码

    html圣诞树代码_支持手机选择背景音乐圣诞树源码小子在本地测试了下,圣诞树会根据音乐变化起来,挺好看的手机打开显示黑屏的问题,已经修复适配,上传服务器即可,如果加载慢就把远程js和css本地化或者更 ...

  6. (已更新)看图猜成语小程序源码+详细搭建教程

    本小程序后台可以自行设置关卡.等级.也可以一键部署, 个人号也可以开通,审核一次性必过. 类目选择 教育 小程序源码下载地址:(已更新)看图猜成语小程序源码+详细搭建教程-小程序文档类资源-CSDN下 ...

  7. 程序员也可以很浪漫,精选10个圣诞节特效及源码

    最近离圣诞节不远了.整理了一些关于圣诞相关的前端特效网页设计和小游戏的代码送大家.直接上效果吧. 代码过长的 可预览获取 查看源码特效合集 圣诞节快乐 - 文字渐入动画 <body>< ...

  8. Java高级工程师必看系列,从基础到源码统统帮你搞定

    1.Java基础 Java基础务必要有一个非常牢固的根基,尤其是对于JVM和并发编程的掌握情况**(属于进阶内容,但也是Java最为重要的基础内容)**,不论是面试还是工作,基础不好,写不出高质量.漂 ...

  9. Spring Security,没有看起来那么复杂(附源码)

    权限管理是每个项目必备的功能,只是各自要求的复杂程度不同,简单的项目可能一个 Filter 或 Interceptor 就解决了,复杂一点的就可能会引入安全框架,如 Shiro, Spring Sec ...

最新文章

  1. 测试函数: Ackely,Rastrigin,Griewangk,SumSquartes,Sphere,Quartic,Schwefel' Problem 12等
  2. 五、cookie和web缓存
  3. Java vs Big data 哪种编程语言更好?
  4. 如何转移主机之间Docker镜像
  5. Metasploit 提权篇
  6. 搜索引擎反作弊之内容作弊
  7. IBM 声明对 Google 违背承诺未将 Istio 贡献给 CNCF 表示失望
  8. DVWA File Inclusion——Writeup
  9. 【Angular专题】——(1)Angular,孤傲的变革者
  10. 4.01~ios开发常用的宏
  11. python能做什么项目-用python真的可以做很多有趣的事!我自己做了些小项目!大家看看...
  12. wps2016热点永久关闭
  13. ViewGroup详解
  14. maven依赖名词解释
  15. 数据分析案例1.0——药品销售分析
  16. 【解决方案】【亲测有效】Windows10离线安装.net3.5
  17. 用于实时大数据处理的Lambda架构
  18. TTE系统容错设计(2) ——COM/MON机制
  19. Linux下构建 uniapp h5 应用(非命令行创建项目)
  20. 关于神舟笔记本TX8连副屏经常蓝屏的问题

热门文章

  1. 如何让谷歌、百度和雅虎收录你的网站,编入索引
  2. C语言判断中英文输入
  3. Android之来电秀实现(二)
  4. python sql语句异常捕获_python异常处理
  5. ZZULIOJ1037
  6. 为什么要挤兑 Ubuntu?
  7. 耶鲁大学——我们应该如何交流思想
  8. 文华财经wh8-trend1组合-保证金20万-最大使用1.8万,年华收益21%,最大回撤9.8%
  9. LocalDateTime 存入数据库少8个小时
  10. 杯酒人生 —— 且将新酒试新茶