程序员的圣诞节是怎么样的?
Posted 汀、
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员的圣诞节是怎么样的?相关的知识,希望对你有一定的参考价值。
2022年圣诞节到来啦,很高兴这次我们又能一起度过~
一、前言
圣诞节,先在这里祝大家圣诞节快乐~~,用英语来表达就是 Merry Christmas ~~,
为了贴合这个氛围,今天分享种用 Python 绘制圣诞树的方法。
最近用代码绘画圣诞树的活动非常火,博主整理了目前较为流行的方法,
二、创意名
Merry Christmas ~~
三、效果展示
/\\
/*#\\
/ #\\
/ * \\
/* # #* \\
/ *# ** \\
/ *** ## ##\\
/ * # # ##*##*\\
/# * * * * # *#\\
/ * * #*#*#* **\\
/ *# ** * # ####*\\
/# #* * # ## #\\
/ #* * #*# #*# # * #**\\
/** #**#* ** ## #* ##*#* *#\\
/ # #*# ** * # * #*# # *# \\
/ *# *#*# # # ##** *## # \\
/ #*## *# ## * * *## * # * \\
/ * ##*# #* #*# *** * * \\
/# ** * *#* # ## # * # * \\
/ # ##* # * * # # ** # # # ## \\
四、编码实现
turtle库简介
python turtle库是一个绘图库,可以让你在python中使用turtle来绘制图形。它的使用方法非常简单,可以帮助初学者学习编程的基础知识。
首先,需要在你的python环境中安装turtle库。这可以通过在终端中使用命令 "pip install turtle" 来完成。
然后,在你的python代码中导入turtle模块。这可以通过使用 "import turtle" 来完成。
接下来,你就可以使用turtle中的方法来控制小海龟的移动和绘制图形了。例如,你可以使用 "turtle.forward(distance)" 来让海龟向前移动一段距离,使用 "turtle.left(angle)" 来让海龟向左转一个角度,使用 "turtle.right(angle)" 来让海龟向右转一个角度,使用 "turtle.pencolor(color)" 来设置海龟的画笔颜色,使用 "turtle.pensize(size)" 来设置海龟的画笔粗细等。
第一版
import random
print('\\n'.join(' '*(20-i)+'/'+''.join(random.choice(' # *') for _ in range(2*i))+'\\\\' for i in range(20)))
第二版
from turtle import *
import random
import time
n = 80.0
speed("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: return
forward(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 # as就是取个别名,后续调用的t都是turtle
from turtle import *
import random as r
import time
n = 100.0
t.pensize(10) # 修改画笔大小
speed("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:
linewidth = 5
color('dark green') # 其余的随机数情况下画空的树枝
color("dark green") # 定义树枝的颜色
backward(n * 4.8)
def tree(d, s): # 开始画树
if d <= 0: return
forward(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=hideturtle
t.pensize(2) # 定义笔头大小
for i in range(200): # 画多少雪花
t.pencolor("white") # 定义画笔颜色为白色,其实就是雪花为白色
t.pu() # 提笔,pu=penup
t.setx(r.randint(-350, 350)) # 定义x坐标,随机从-350到350之间选择
t.sety(r.randint(-100, 350)) # 定义y坐标,注意雪花一般在地上不会落下,所以不会从太小的纵座轴开始
t.pd() # 落笔,pd=pendown
dens = 6 # 雪花瓣数设为6
snowsize = 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,小bug
t.right(int(360 / dens)) # 转动角度
drawsnow() # 调用画雪花的方法
t.done() # 完成,否则会直接关闭
作为最后一个版本,效果当然是这几个版本中最贴近于真实圣诞树的,装饰品、平安果,圣诞节礼物要啥有啥,此外漫天雪花、黑夜背景也被绘制出来了
1.叮咚,你的圣诞小精灵已送达2.这个圣诞没有等到雪 但等到你了3.圣诞节最好的礼物就是,见你一面4.希望圣诞快乐,不止圣诞这一天5.愿望清单中你是我最想要的未来 6.等圣诞的烟火,等你在人潮中走向我7.我是铃儿你是叮当,因为铃儿响叮当8.如果你愿意 我可以永远是你的圣诞老人9.把麋鹿挂在圣诞树上 把你挂在我的心上10.在等雪花圣诞树新年烟火和更好的我们11.积攒了许多星星,挂满圣诞树和漆黑的夜空12.在等雪花,圣诞树,新年烟火,和更好的你13.圣诞老爷爷昨天偷偷告诉我 你就是我的礼物14.世界上哪有圣诞老人,礼物都是来自爱你的人 15.圣诞老人是哪家快递的,活了十多年都没收到,差评!
圣诞文案:
1.
初雪和热咖啡,麋鹿和圣诞树,新年的钟声和倒数计时,所有糟糕的都是经历,所有的美好都会在最后相遇。
2.
圣诞前夜,把袜子翻过来,里朝外,挂起来,整个世界都是你的礼物。
3.
要不了多久,圣诞,初雪,新年烟火,这些美好与温柔都会如约而至。
4.
今年,我想送圣诞爷爷一个圣诞奶奶,这样明年我就可以收到双份礼物了。
5.
女巫用了解药,又是一个平安夜。
6.
如果在平安夜和圣诞节没收到我的礼物,请不要怀疑我们的感情,我只是穷而已。
7.
十二月有水晶球,有被雪铺满的夜晚,有星星点灯的灯光,有炉火旁的童话书,还有奇迹。
8.
圣诞节没有领到礼物的到我这里领个37°的拥抱吧
9.
刚刚有个男生发消息给我,要我的地址。我说要地址干嘛,他说其他小朋友都有圣诞礼物,我怕圣诞老人把你忘了。我的天哪,要不是这是我自己编的,我就感动哭了。
10.
我的圣诞愿望是:看到这篇文章并点赞的宝贝 暴富 恋爱 平安 健康 幸福!
11.
圣诞节老人本来打算给你们送礼物,结果发现他妈的一个都没睡。
12.
希望快乐不止圣诞这一天
13.
我是铃儿 你是叮当 因为铃儿想叮当
14.
世上本无圣诞老人,所有的惊喜和礼物都来自你爱的人。
15.
圣诞老爷爷昨天偷偷告诉我,你就是我的礼物。
16.
想给每个善良的人一顶圣诞帽,愿这顶帽子成为他们的睡帽,从此每个安睡的日子都叫平安夜。
17.
如果有一个白胡子老爷爷把你打晕装进麻袋里,别怕,因为你是我想要的圣诞礼物。
18.
圣诞的每一片雪花,都是冬天的来信
19.
积攒了许多星星,分别挂满圣诞树和漆黑的夜空。
20.
把我的小心思,偷偷塞进礼物盒,在圣诞节那一天,通通送给你。
以上是关于程序员的圣诞节是怎么样的?的主要内容,如果未能解决你的问题,请参考以下文章