快要圣诞节啦,快去给小伙伴们分享漂亮的圣诞树吧

最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成喔~)

重中之重,就是将这些代码封装成.exe文件,在别人的电脑没有pycharm的时候也可以运行展示效果

第一种圣诞树


效果(有绘制过程)
代码

from turtle import *
import timesetup(500, 500, startx=None, starty=None)
speed(0)
pencolor("pink")
pensize(10)
penup()
hideturtle()
goto(0, 150)
showturtle()
pendown()
shape(name="classic")
# 1
seth(-120)
for i in range(10):fd(12)right(2)
penup()
goto(0, 150)
seth(-60)
pendown()
for i in range(10):fd(12)left(2)
seth(-150)
penup()
fd(10)
pendown()
for i in range(5):fd(10)right(15)
seth(-150)
penup()
fd(8)
pendown()
for i in range(5):fd(10)right(15)
seth(-155)
penup()
fd(5)
pendown()
for i in range(5):fd(7)right(15)
# 2
penup()
goto(-55, 34)
pendown()
seth(-120)
for i in range(10):fd(8)right(5)penup()
goto(50, 35)
seth(-60)
pendown()
for i in range(10):fd(8)left(5)
seth(-120)
penup()
fd(10)
seth(-145)
pendown()
for i in range(5):fd(10)right(15)
penup()
fd(10)
seth(-145)
pendown()
for i in range(5):fd(12)right(15)
penup()
fd(8)
seth(-145)
pendown()
for i in range(5):fd(10)right(15)
penup()
seth(-155)
fd(8)
pendown()
for i in range(5):fd(11)right(15)
# 3
penup()
goto(-100, -40)
seth(-120)
pendown()
for i in range(10):fd(6)right(3)
penup()
goto(80, -39)
seth(-50)
pendown()
for i in range(10):fd(6)left(3)
seth(-155)
penup()
fd(10)
pendown()
for i in range(5):fd(8)right(10)
penup()
fd(8)
seth(-145)
pendown()
for i in range(7):fd(8)right(10)
penup()
fd(8)
seth(-145)
pendown()
for i in range(7):fd(7)right(10)
penup()
fd(8)
seth(-145)
pendown()
for i in range(7):fd(7)right(10)
penup()
fd(8)
seth(-140)
pendown()
for i in range(7):fd(6)right(10)# 4
penup()
goto(-120, -95)
seth(-130)
pendown()
for i in range(7):fd(10)right(5)
penup()
goto(100, -95)
seth(-50)
pendown()
for i in range(7):fd(10)left(5)
penup()
seth(-120)
fd(10)
seth(-155)
pendown()
for i in range(6):fd(8)right(10)
penup()
seth(-160)
fd(10)
seth(-155)
pendown()
for i in range(6):fd(8)right(10)
penup()
seth(-160)
fd(10)
seth(-155)
pendown()
for i in range(6):fd(8)right(10)
penup()
seth(-160)
fd(10)
seth(-160)
pendown()
for i in range(6):fd(8)right(10)
penup()
seth(-160)
fd(10)
seth(-160)
pendown()
for i in range(6):fd(8)right(10)
penup()
seth(-160)
fd(10)
seth(-165)
pendown()
for i in range(5):fd(10)right(11)
# 5
penup()
goto(-70, -165)
seth(-85)
pendown()
for i in range(3):fd(5)left(3)
penup()
goto(70, -165)
seth(-95)
pendown()
for i in range(3):fd(5)right(3)
seth(-170)
penup()
fd(10)
pendown()
pendown()
for i in range(10):fd(12)right(2)
# 6
penup()
goto(70, -165)
pendown()
seth(-90)
pensize(8)
pencolor("#de8891")
circle(-20, 90)penup()
goto(30, -185)
pendown()
seth(-180)
pensize(8)
pencolor("#de8891")
fd(40)penup()
goto(-5, -170)
pendown()
seth(-180)
pensize(8)
pencolor("#de8891")
fd(35)def guest(x, y, z):penup()goto(x, y)seth(-z)pendown()for angel in range(5):fd(10)right(10)def guet(x, y, z):penup()goto(x, y)seth(-z)pendown()for angel in range(5):fd(10)left(10)def qu(x, y, z):penup()goto(x, y)seth(-z)pendown()for angel in range(5):fd(6)right(10)seth(-150)fd(20)# 树枝
guest(-70, -150, 160)
guest(100, -150, 160)
guet(110, -110, 50)
guest(160, -140, 150)
qu(80, -120, 180)
guest(70, -85, 165)
guest(-40, -85, 165)
guet(90, -50, 50)
guest(130, -80, 150)
pencolor("pink")
qu(-40, -60, 180)
pencolor('#de8891')
qu(80, -30, 180)
pencolor("pink")
qu(40, 10, 180)
pencolor("#de8891")
guest(-60, 30, 120)
guest(-20, -20, 150)
guet(45, 40, 60)
guest(-30, 40, 170)
guest(-30, 110, 115)
guet(40, 90, 60)
guest(80, 50, 160)
pencolor("#de8891")def hdj(x, y):penup()goto(x, y)seth(80)pendown()pensize(2)circle(5)seth(10)fd(15)seth(120)fd(20)seth(240)fd(20)seth(180)fd(20)seth(-60)fd(20)seth(50)fd(20)seth(-40)fd(30)seth(-130)fd(5)seth(135)fd(30)seth(-60)fd(30)seth(-150)fd(6)seth(110)fd(30)def uit(x, y):penup()goto(x, y)pendown()pensize(2)circle(5)seth(-10)fd(15)seth(90)fd(15)seth(200)fd(15)seth(160)fd(15)seth(-90)fd(15)seth(10)fd(15)seth(-60)fd(20)seth(-180)fd(5)seth(110)fd(20)seth(-90)fd(20)seth(-180)fd(6)seth(70)fd(15)hideturtle()def yut(x, y, z):penup()goto(x, y)pendown()seth(z)for po in range(5):fd(4)left(36)def ytu(x, y, z):penup()goto(x, y)pendown()seth(z)for kk in range(5):fd(4)left(36)# 小蝴蝶结
seth(0)
uit(40, -160)
hdj(-80, -120)
yut(-67, -115, 120)
yut(-86, -123, 150)
hdj(40, -50)
yut(52, -45, 130)
yut(34, -55, 160)
seth(0)
uit(-20, -60)
ytu(-4, -60, 100)
ytu(-20, -60, 120)
hdj(-30, 20)
yut(-15, 25, 130)
yut(-40, 20, 180)
uit(30, 70)
ytu(45, 70, 100)
ytu(30, 70, 120)# 大蝴蝶结
pencolor("#f799e6")
pensize(5)
penup()
seth(0)
goto(0, 150)
pendown()
circle(10)
seth(-15)
fd(40)
seth(90)
fd(40)
seth(200)
fd(40)
seth(160)
fd(40)
seth(-90)
fd(40)
seth(15)
fd(40)
seth(-70)
pencolor("#f799e6")
pensize(4)
fd(40)
seth(-180)
fd(10)
seth(100)
fd(40)
seth(-100)
fd(40)
seth(-180)
fd(10)
seth(70)
fd(40)
penup()
seth(0)
goto(0, 130)
pencolor("pink")
pendown()def iou(x, y, z):penup()goto(x, y)pencolor("#f799e6")pendown()seth(z)for po in range(10):fd(4)left(18)seth(0)
iou(35, 145, 100)
iou(-7, 145, 110)
pencolor("red")
pensize(7)
penup()
goto(-35, 135)
pendown()# 圣诞帽
seth(-20)
pensize(2)
penup()
goto(-30, -120)
pencolor("black")
pendown()
fillcolor("red")
fd(30)
circle(4, 180)
fd(30)
circle(4, 180)
penup()
goto(-25, -115)
seth(75)
pendown()
begin_fill()
for i in range(5):fd(6)right(20)
seth(-10)
for i in range(5):fd(8)right(15)
seth(145)
for i in range(5):fd(5)left(2)
seth(90)
for i in range(5):fd(1)left(2)
seth(-90)
for i in range(4):fd(4)right(6)
seth(161)
fd(30)
end_fill()
pensize(1)
pencolor("black")def koc(x, y, size):pensize(2)pencolor("black")penup()goto(x, y)pendown()begin_fill()fillcolor("yellow")for i in range(5):left(72)fd(size)right(144)fd(size)end_fill()# 星星
seth(-15)
koc(-120, -70, 10)
seth(10)
koc(100, -20, 10)
seth(-10)
koc(10, 40, 10)
seth(30)
koc(-80, 60, 10)
koc(100, -150, 10)
koc(-140, -150, 10)
koc(20, 120, 10)# 袜子
seth(-20)
pensize(2)
penup()
goto(-20, 80)
pencolor("black")
pendown()
fillcolor("red")
fd(25)
circle(4, 180)
fd(25)
circle(4, 180)
penup()
goto(-15, 80)
pendown()
begin_fill()
fillcolor("red")
seth(-120)
fd(20)
seth(150)
fd(5)
circle(7, 180)
fd(15)
circle(5, 90)
fd(30)
seth(160)
fd(18)
end_fill()
penup()
seth(0)
goto(100, -230)
pendown()
write("Merry Christmas", align="right", font=("方正黄草简体", 24, "bold"))
done()

加名字的话就把下面代码的注释Merry Christmas后面或者讲这句话一起改掉都可以


第二种圣诞树

 圣诞树 (动态生成效果)代码:

from turtle import *
import random
import timen = 100.0speed("fastest")
screensize(bg='seashell')
left(90)
forward(3*n)
color("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)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)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 * random.random()b = 10 - 20 * random.random()up()forward(b)left(90)forward(a)down()if random.randint(0, 1) == 0:color('tomato')else:color('wheat')circle(2)up()backward(a)right(90)backward(b)time.sleep(60)

 第三种樱花树

 动态生成樱花
效果图(这个是动态的):
实现代码

import turtle as T
import random
import time# 画樱花的躯干(60,t)
def Tree(branch, t):time.sleep(0.0005)if branch > 3:if 8 <= branch <= 12:if random.randint(0, 2) == 0:t.color('snow')  # 白else:t.color('lightcoral')  # 淡珊瑚色t.pensize(branch / 3)elif branch < 8:if random.randint(0, 1) == 0:t.color('snow')else:t.color('lightcoral')  # 淡珊瑚色t.pensize(branch / 2)else:t.color('sienna')  # 赭(zhě)色t.pensize(branch / 10)  # 6t.forward(branch)a = 1.5 * random.random()t.right(20 * a)b = 1.5 * random.random()Tree(branch - 10 * b, t)t.left(40 * a)Tree(branch - 10 * b, t)t.right(20 * a)t.up()t.backward(branch)t.down()# 掉落的花瓣
def Petal(m, t):for i in range(m):a = 200 - 400 * random.random()b = 10 - 20 * random.random()t.up()t.forward(b)t.left(90)t.forward(a)t.down()t.color('lightcoral')  # 淡珊瑚色t.circle(1)t.up()t.backward(a)t.right(90)t.backward(b)# 绘图区域
t = T.Turtle()
# 画布大小
w = T.Screen()
t.hideturtle()  # 隐藏画笔
t.getscreen().tracer(5, 0)
w.screensize(bg='wheat')  # wheat小麦
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')# 画樱花的躯干
Tree(60, t)
# 掉落的花瓣
Petal(200, t)
w.exitonclick()#飘落效果
#效果图:
#代码:
from turtle import *
from random import *
from math import *def tree(n,l):pd()#下笔#阴影效果t = cos(radians(heading()+45))/8+0.25pencolor(t,t,t)pensize(n/3)forward(l)#画树枝if n>0:b = random()*15+10 #右分支偏转角度c = random()*15+10 #左分支偏转角度d = l*(random()*0.25+0.7) #下一个分支的长度#右转一定角度,画右分支right(b)tree(n-1,d)#左转一定角度,画左分支left(b+c)tree(n-1,d)#转回来right(c)else:#画叶子right(90)n=cos(radians(heading()-45))/4+0.5pencolor(n,n*0.8,n*0.8)circle(3)left(90)#添加0.3倍的飘落叶子if(random()>0.7):pu()#飘落t = heading()an = -40 +random()*40setheading(an)dis = int(800*random()*0.5 + 400*random()*0.3 + 200*random()*0.2)forward(dis)setheading(t)#画叶子pd()right(90)n = cos(radians(heading()-45))/4+0.5pencolor(n*0.5+0.5,0.4+n*0.4,0.4+n*0.4)circle(2)left(90)pu()#返回t=heading()setheading(an)backward(dis)setheading(t)pu()backward(l)#退回bgcolor(0.5,0.5,0.5)#背景色
ht()#隐藏turtle
speed(0)#速度 1-10渐进,0 最快
tracer(0,0)
pu()#抬笔
backward(100)
left(90)#左转90度
pu()#抬笔
backward(300)#后退300
tree(12,100)#递归7层
done()

暗系的

代码如下


from turtle import *
from random import *
from math import *def tree(n, l):pd()t = cos(radians(heading() + 45)) / 8 + 0.25pencolor(t, t, t)pensize(n / 4)forward(l)if n > 0:b = random() * 15 + 10c = random() * 15 + 10d = l * (random() * 0.35 + 0.6)right(b)tree(n - 1, d)left(b + c)tree(n - 1, d)right(c)else:right(90)n = cos(radians(heading() - 45)) / 4 + 0.5pencolor(n, n, n)circle(2)left(90)pu()backward(l)
bgcolor(0.5, 0.5, 0.5)
ht()
speed(0)
tracer(0, 0)
left(90)
pu()
backward(300)
tree(13, 100)
done()

下面就是这波的重中之重,就是将这些代码封装成.exe文件,在别人的电脑没有pycharm的时候也可以运行展示效果。

pip install pyinstaller

下载pyinstaller就可以转换成.exe文件了

进入代码的路径,终端输入下面代码
pyinstaller -F --onefile ***.py

***是文件名字

py转exe

之后会生成一个dist的文件夹,那个便可以直接运行

然后这个exe文件可以直接发给别人,没有解释器也可以看到效果哦

 

感兴趣的话就赶紧尝试一下吧!

哥哥姐姐们麻烦随手一个赞赞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/48052.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python画圣诞树【方块圣诞树、线条圣诞树、豪华圣诞树】

文章目录 前言【便捷源码下载处】1.方块圣诞树2.线条圣诞树3.豪华圣诞树 这篇文章主要介绍了使用Python画了一棵圣诞树的实例代码,本文通过实例代码给大家介绍的非常详细&#xff0c;对大家的学习或工作具有一定的参考借鉴价值&#xff0c;需要的朋友可以参考下 前言【便捷源码…

圣诞节都到了,快使用代码画棵圣诞树吧

&#x1f4d2; 博客首页&#xff1a;✎﹏ℳ๓敬坤的博客 &#x1f388; &#x1f60a; 我只是一个代码的搬运工 &#x1f383; &#x1f389; 欢迎来访的读者关注、点赞和收藏 &#x1f91e; &#x1f609; 有问题可以私信交流 &#x1f606; &#x1f4c3; 文章标题&#xff1…

圣诞树代码 html

新建txt文档 <!DOCTYPE html> <html lang"en" > <head> <meta charset"UTF-8"> <title></title> <link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normaliz…

圣诞节来了,用Python Turtle画棵圣诞树吧

如何实现上图效果呢&#xff1f;让我们开始吧&#xff01; 首先&#xff0c;导入turtle和random from turtle import * import random as rd 然后&#xff0c;写一个待会儿要用到的函数&#xff0c;用于随机生成True和False def true_or_false(percent50):nrd.randint(1,10…

大家都在画圣诞树,我们用代码敲一颗吧~圣诞树

前段时间发布的文章很多人问怎么操作的&#xff0c;今天具体说明一下&#xff1a; PS&#xff1a;如果需要下载可以点击左下角阅读全文下载代码使用更方便 具体步骤如下&#xff1a; 复制下面代码在电脑里面新建一个记事本&#xff0c;将代码复制到新建的记事本里保存记事本&am…

【Python项目】圣诞节快到了,Python基于海龟(turtle)实现的圣诞树效果,是好几个哟 | 附源码

前言 halo&#xff0c;包子们上午好 圣诞节快到了 今天我的好兄弟们安排了一波圣诞节的Python代码 主要是用海龟&#xff08;turtle&#xff09;画图实现的&#xff0c;非常简单的啦 话不多说&#xff0c;直接开整 相关文件 关注小编&#xff0c;私信小编领取哟&#xff01;…

圣诞节到了,写一个炫酷的圣诞树和平安果,送给你最爱的人吧

&#x1f34a; Java学习&#xff1a;Java从入门到精通总结 &#x1f34a; Spring系列推荐&#xff1a;Spring源码解析 &#x1f4c6; 最近更新&#xff1a;2021年12月16日 &#x1f34a; 个人简介&#xff1a;通信工程本硕&#x1f4aa;、阿里新晋猿同学&#x1f315;。我的…

【含源码】两种不同风格的圣诞树代码合集,其中还有可以改名字的圣诞树代码

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 前言 一年一度的圣诞节马上就要到了&#xff0c;看到好多程序员小伙伴已经开始炫耀自己制作的圣诞树了。今天就跟大家分享2种不同风格的圣诞树&#xff0c;…

python圣诞树动态图,拿去送给你的那个TA呀

圣诞节快到了&#xff0c;最近圣诞树的绘制图比较火热&#xff0c;也很漂亮&#xff0c;今天我就整理了一下源码&#xff0c;分享给大家&#xff08;这些我都测试过&#xff0c;确实可以生成喔~&#xff09; 动态生成圣诞树 效果图&#xff08;这个是动态的&#xff09;&…

圣诞节快到了,用python、turtle画棵圣诞树吧~

太多python新手问怎么跑了&#xff0c;我搞了个升级版的&#xff0c;手把手教你们&#xff01;&#xff01;新版的还加了背景设置&#xff0c;大家可以看一下&#xff1a;圣诞节的python豪华版圣诞树&#xff0c;包括雪花彩灯文字背景_Ding2langdang的博客-CSDN博客小白版最新p…

使用excel分类汇总数据生成饼图

需求描述&#xff1a; 有一段数据如下图所示&#xff0c;分别统计下图中的每个字段的频率&#xff0c;并生成饼图。 处理过程&#xff1a; 首选需要将这段数据复制到excel表格当中&#xff0c;直接复制的话&#xff0c;不会自动将每个字段独自占一格。好在数据都是以‘&#…

Excel的复合条饼图制作

在工作中统计各部分占比情况的时候&#xff0c;饼图往往是最佳选择&#xff0c;它可以清楚地呈现各部分的占比&#xff0c;但是&#xff0c;单个饼图有时候是有缺陷的&#xff0c;它不能完美地显示出某一部分的具体情况&#xff0c;或者当饼图中有些数值具有较小的百分比时&…

html5饼图添加百分比,饼图如何显示数据和百分比

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。 饼图显示数据和百分比的存在方法如下&#xff1a; 1、选中表格区域的数据&#xff0c;点击插入&#xff0c;点击所有图表&#xff0c;选择饼图。 2、右击选择添加数据标签&#xff…

EChart饼图文字大小调整

原文&#xff1a;https://blog.csdn.net/xuaner8786/article/details/79241689 一、EChart图中的文字调整&#xff08;以饼图为例&#xff09; 1.图中‘1’的文字大小调整在‘legend’对象下的‘textStyle’属性里 2.图中‘2’的文字大小调整在‘tooltip’对象下的‘textStyl…

Android 饼图

PieChartView 自定义饼图统计、点击监听 预览 资源 名字资源AARpie_chart_view.aarGitHubPieChartViewGiteePieChartView Maven 1.build.grade | setting.grade repositories {...maven { url https://jitpack.io } }2./app/build.grade dependencies {implementation c…

用excel制作双层饼图_原创教程:用Excel做动态双层饼图

动态双层饼图的制作原理和动态柱形图一样&#xff0c;利用窗体控件和函数实现数据的变化&#xff0c;从而使得图表动态显示。原始数据和效果图如下&#xff1a; Excel版本为2007&#xff0c;使用工具&#xff1a;组合框窗体控件、SUMIF函数、IF函数、CHOOSE函数和VLOOKUP函数。…

python做饼图出现重影_解决echarts中饼图标签重叠的问题

饼图中的series有个avoidLabelOverlap属性, avoidLabelOverlap:是否启用防止标签重叠策略,默认开启,在标签拥挤重叠的情况下会挪动各个标签的位置,防止标签间的重叠。 当avoidLabelOverlap设置为false时会出现以下情况 改为true之后就不会重叠 代码如下 var option = {tool…

短视频评论的抓取及分析

短视频评论的抓取及分析 一.设计背景 目前&#xff0c;短视频已经成为大多数人娱乐消遣的主要方式。用户在观看视频内容的同时&#xff0c;也同样关注视频评论&#xff0c;并且很多时候评论带给人们的乐趣远远超过视频本身。但是各短视频平台都没有提供用户评论数据的可视化分…

手把手较你编写Python爬虫程序-不要干坏事哦

首先我们知道互联网简单来说是由一个个站点和网络设备组成的大网&#xff0c;我们通过浏览器访问站点&#xff0c;站点把HTML、JS、CSS代码返回给浏览器&#xff0c;这些代码经过浏览器解析、渲染&#xff0c;将丰富多彩的网页呈现我们眼前。 如果我们把互联网比作一张大的蜘蛛…

缅怀清明-记爷爷这一生

(农村老宅) &#xff08;点击即可收听&#xff09; 桃花盛开正清明,门前小路依旧在,唯有不见已故人 转瞬间,又是一年一度清明节 年少,听雨歌楼上,红烛昏罗帐,不懂清明时节的庄严与肃穆,清朗,明净 如今,人到中年,听雨客舟中,江阔云低,断雁叫西风 世事无常,历经春夏秋冬,生老病死…