程序员的圣诞节是怎么样的?

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.

把我的小心思,偷偷塞进礼物盒,在圣诞节那一天,通通送给你。

以上是关于程序员的圣诞节是怎么样的?的主要内容,如果未能解决你的问题,请参考以下文章

圣诞节快到了,用pythonturtle画棵圣诞树吧~

Python编程 圣诞树教程 (附代码)程序员的浪漫

程序员的圣诞节是怎么样的?

圣诞节,程序员应该怎么浪漫?

程序员的浪漫:如何用HTML+JS制作圣诞节雪花特效(附带源码)

圣诞节,程序员被祭天了