尝试用turtle画圣诞树

  • 前言
  • 开发环境
  • 步骤一:加载bgm所念皆星河
  • 步骤二:窗口界面初始化
  • 步骤三:turtle初始化
  • 步骤四:画树的外轮廓
  • 步骤五:画雪花
  • 步骤六:画花朵
  • 步骤七:画五角星
  • 开源

前言

今天就是平安夜,明天就是圣诞节了,先祝大家节日快乐。
网上有很多版本的圣诞树,内卷的很严重,当然我也不想和他们卷,我只想画属于我和她的。

废话不多说,上效果:

只想画属于我和她的圣诞树

开发环境

  • Python3.8
  • turtle
  • pygame
  • tkinter

步骤一:加载bgm所念皆星河

这里我把MP3格式的音频转成了WAV格式,不知为何打包后MP3格式会报错

def music():pygame.mixer.init()track=pygame.mixer.music.load("star.wav")pygame.mixer.music.play()

步骤二:窗口界面初始化

def window_init():root=Tk()#调用Tk()函数建立根窗口root.title("点我有惊喜")#设置根窗口标题root.geometry("400x400")#设置根窗口大小root.resizable(False,False)#禁止更改根窗口的大小ziti=font.Font(family='微软雅黑',size=10,weight=font.BOLD)#设置字体的属性mylabel=Label(root,text="请点击按钮有惊喜等着你",font=ziti)#建立文本标签mylabel.place(x=1,y=1,anchor=CENTER)#设置文本标签的摆放位置create=Button(root,text='惊喜按钮',command=reply,bg="green")#创建按钮组件,点击按钮出现弹窗create.place(relx=0.5,rely=0.6,anchor=CENTER,width=100)#设置按钮组件的摆放位置mylabel.pack()#将Label添加到窗口root.mainloop()#让根窗口持续展示

步骤三:turtle初始化

def draw_init():turtle.screensize(800,600, "white")#设置画布大小turtle.title("给xx的圣诞惊喜")turtle.setup(0.5,0.75)turtle.pensize(5)turtle.speed(8)turtle.bgcolor("white")turtle.bgpic("snow.gif")turtle.getscreen().colormode(255)turtle.up()turtle.goto(100,-100)turtle.down()turtle.color("red","green")

步骤四:画树的外轮廓

def draw_tree():turtle.begin_fill()for i in range(5):      turtle.forward(90 - i * 10)turtle.left(145)turtle.forward(130 - i * 10)turtle.right(145)turtle.right(145)#print(turtle.pos())for j in range(5):turtle.forward(90 + j * 10)turtle.left(145)turtle.forward(50 + j * 10)turtle.right(145)turtle.left(145)  turtle.forward(65)turtle.right(90)turtle.forward(100)turtle.left(90)turtle.forward(60)turtle.left(90)turtle.forward(100)turtle.right(90)turtle.forward(65)turtle.end_fill()

步骤五:画雪花

def draw_snow(num):for a in range(num):x = random.randint(-400,400)y = random.randint(-300,300)turtle.up()turtle.goto(x,y)turtle.down()turtle.dot(10,"white")

步骤六:画花朵

def snow(snow_count):turtle.hideturtle()turtle.speed(300)turtle.pensize(3)for i in range(snow_count):r = random.randint(0,255)g = random.randint(0,255)b = random.randint(0,255)turtle.pencolor(r, g, b)turtle.pu()turtle.goto(random.randint(-350, 350), random.randint(-300, 300))turtle.pd()dens = random.randint(6, 12)snowsize = random.randint(4, 12)for _ in range(dens):turtle.forward(snowsize) turtle.backward(snowsize) turtle.right(360 / dens)

步骤七:画五角星

def draw_star():turtle.up()turtle.goto(-25.53,240.47)turtle.down()turtle.color("yellow","yellow") #颜色填充函数turtle.begin_fill()for c in range(5):turtle.forward(50)turtle.right(144)if abs(turtle.pos()) < 1:#看画笔是否回到原点,回到原点为真breakturtle.end_fill()

开源

谢谢大家支持

https://github.com/windwithling/chirstmas-tree/tree/main

【送给她的圣诞礼物】尝试用turtle画圣诞树相关推荐

  1. python turtle画圣诞树动图_圣诞节!教你用Python画棵圣诞树

    作者 | 糖甜甜甜,985高校经管研二,擅长用 Python.R.tableau 等工具结合统计学和机器学习模型做数据分析. 如何用Python画一个圣诞树呢? 最简单: 1height =5 2 3 ...

  2. Python turtle 画圣诞树

    马上就要圣诞街了,作为一名程序猿的我们应该用代码表达一下程序猿的温柔呐,所以,改写了一段Python画圣诞树的代码,给你们的朋友们画一颗代码圣诞树吧! 圣诞树一 import turtle as t ...

  3. 用python的turtle画圣诞树_使用Python画了一棵圣诞树的实例代码

    分享给大家一篇文章,教你怎样用Python画了一棵圣诞树,快来学习. 如何用Python画一个圣诞树呢? 最简单: height = 5 ​ stars = 1 for i in range(heig ...

  4. 尝试用visio画个等边三角形

    今天用visio做个图,画圆时突然想怎么画等边三角形,网上也搜了下,研究了好长一会哈. 还是和圆有关哈,其实上学时这些都是基本的知识哈. 选择: 基本形状:六边形(6边形的内角和是720度,每个角是1 ...

  5. python turtle画圣诞树-Python画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)

    作者:草yang年华 来源:CSDN博客 最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确 ...

  6. python turtle画圣诞树动图_用 turtle 画一棵圣诞树

    蹭个洋年的热点,练一下刚学的 turtle 库. 本来想加个亮闪闪的灯光的效果,想来想去,只能想到利用time.sleep()来重复绘制圆球,没别的好方法,就暂时不写了.等以后道行更高一点,再来补充这 ...

  7. 用turtle画圣诞树

  8. 试用海龟turtle 画图画出以下图形(图形的上方为一个正三角形,下方为正方形,边长均为200像素)

    试用海龟turtle 画图画出以下图形(图形的上方为一个正三角形,下方为正方形,边长均为200像素) #画一个3等边三角形 def draw_tri(length):turtle.forward(le ...

  9. 用python画爱心写一句话_python中用turtle画爱心表白

    python中用turtle画爱心表白python 运行后的效果图:ide 下面的代码是在python3.7写的,代码有点长,但却语法简单易懂动画 代码以下:orm import turtle str ...

最新文章

  1. Linux_LVMQuota
  2. python自动化库_Python自动化测试常用库整理
  3. sql中 N’ 的作用
  4. 如何推送和播放RTMP H265流 (RTMP HEVC)
  5. DUMP文件分析4:栈溢出
  6. vue实现搜索框记录搜索历史_云开发版的微信商城小程序第四章,首页自定义搜索框的实现...
  7. 麒麟990 5G获外媒好评:华为Mate30系列有望引领5G时代新体验
  8. phpstorm 2017.1 激活
  9. lisp用entmake生产圆柱体_投石科技圆柱体全息幻象装置
  10. C# 创建Excel并写入内容
  11. 十次方项目开发系列【3】:基于MyBatis Plus实现条件查询和分页
  12. 办公用品管理系统服务器版,恒达办公用品管理系统
  13. 计算智能——密码分析:面向对象的分析与设计之Use Cace图
  14. 网站备案需要什么材料
  15. sdn的用处_SDN原来如此简单?三分钟轻松掌握!
  16. 2020 计蒜客蓝桥杯省赛 B 组模拟赛(一)题解4.苹果
  17. Nova Conductor服务
  18. 学习笔记12--基于专用短程通信的车联网技术
  19. 小程序毕设作品之微信疫苗预约小程序毕业设计(7)中期检查报告
  20. imx8 qca6595驱动编译

热门文章

  1. au如何将人相似_【出彩营销人】如何将地产小白培养成开单达人~
  2. 轻量小巧的零配置 APT 加速工具:APT Proxy
  3. 6.18! 当当网推出购书优惠活动满400减230!有效优惠码更新
  4. 统一回复《怎么学JavaScript?》
  5. Python爬取知乎回答和图片
  6. Centos卸载rpm安装软件
  7. Hololens开发随笔
  8. vue element ui跳转页获取跳转前页面列表里的行id
  9. 【AIGC】AI欺诈,做好以下几点,无需忧虑
  10. 应届生白手起家当老板