​草莓熊python turtle绘图(圣诞元旦倒数雪花版)附源代码

news2024/11/22 10:05:32

​草莓熊python turtle绘图(圣诞元旦倒数雪花版)附源代码

本篇目录:

一、前言

二、​草莓熊python绘图(圣诞元旦倒数雪花版)效果图

三、源代码保存方法

四、代码命令解释

(1)、绘图基本代码语法解释

(2)、7段数码管详解

(2.1)、7段数码管的显示方式图解

(2.2)、绘制数码管单个数字的方法

(2.3)、按七段数码管形式格式化输出日期数据

(3)、倒计时实现方法

(4)、随机绘制雪花

五、相关资源下载

六、运行python turtle绘图代码(本机运行、打包发给别人)

七、逆境清醒草莓熊(圣诞元旦倒数雪花版)源代码


一、前言

  今天是2022年12月19日,过几天就是圣诞节了,这次我画的草莓熊是一手捧礼物盒,一手持玫瑰花的特别版,圣诞节想送礼物逗朋友开心的可以留意一下。

  请记住,不要从其他地方下载和购买我的绘图代码(包括可执行的exe文件,小心代码被篡改有病毒) 。我只有一个博客,就是CSDN的,逆境清醒的博客: https://blog.csdn.net/weixin_69553582

  我(逆境清醒)博客中的代码是完整源代码,你从我博客拷贝代码后本机运行就能看到和我博客上同样的运行效果(只要我网络没有被全h)。

  我乐意分享,不需要你去关注任何账号,不强求任何人成为我的粉丝,也不需要你以任何形式购买源代码,只要你是个人学习用,或者通过我的代码能带给你身边的朋友开心快乐,我愿意为此尽一分力。

  我是奶奶级别的姐姐,粉丝数量多少对我来说没多大吸引力,如果有缘,天晴后,我们可以像平等的朋友一样在网上聊聊天我一直很喜欢一句话:你S了,谁会真心哭?那些真心为你掉眼泪的人,才是你来到这个世界上真正收获得到的东西。

    如果你将草莓熊python动画送给你朋友时,他(她)喜欢,请在心里悄悄告诉我一声,让我也跟着开心一下。生活不易,我希望自己的努力和付出能带给别人真正的开心和快乐!虽然你我并不认识,虽然逆境清醒已经很笨,但我还是选择坚持做个单纯善良的人。

 

 

二、​草莓熊python绘图(圣诞元旦倒数雪花版)效果图

 

  添加了随机雪花,下图是300朵雪花的效果图:

 

  下图是100朵雪花的效果图:

 

三、源代码保存方法

    将源代码完整拷贝,保存成:你的文件名.py ,(记得保存时文件编码格式选UTF-8,保存类型选所有文件(*.*),后缀一定要用.py)。例如:cmx.py 然后在python环境下运行。你会看到和我一样的《草莓熊圣诞元旦版》效果。

四、代码命令解释

(1)、绘图基本代码语法解释

     python turtle绘图基本代码的语法解释部分,可点击查看文章里的介绍:草莓熊python turtle绘图(风车版)附源代码

 

 

(2)、7段数码管详解

(2.1)、7段数码管的显示方式图解

     本例中,用到了时间倒数,数字的显示方法模仿的是7段数码管的显示方式:

 

     如图所示,七段数码管由七个线条组成,可以有固定顺序(1--7),不同数字显示不同的线条

 

 

 

(2.2)、绘制数码管单个数字的方法

def drawLine(draw):  # 绘制某单段(行或列)数码管的函数
    t.pd() if draw else t.pu()  # 如果有就落笔,没有就抬笔
    t.fd(10)  # 向前绘制10
    t.right(90)   # 顺时针转90度
 

def draw7Dight(dight): #根据数字绘制七段数码管
    drawLine(True) if dight in [2, 3, 4, 5, 6, 8, 9] else drawLine(False) #判断第1段数码管(如果数字为2, 3, 4, 5, 6, 8, 9中的一个则需要落笔绘制)
    drawLine(True) if dight in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False) #判断第2段数码管,(如果数字为0, 1, 3, 4, 5, 6, 7, 8, 9中的一个则需要落笔绘制)
    drawLine(True) if dight in [0, 2, 3, 5, 6, 8, 9] else drawLine(False) #判断第3段数码管(如果数字为0, 2, 3, 5, 6, 8, 9中的一个则需要落笔绘制)
    drawLine(True) if dight in [0, 2, 6, 8] else drawLine(False) #判断第4段数码管,(如果数字为0, 2, 6, 8中的一个则需要落笔绘制)
    t.left(90) #走完1234段数码管,到第5段时需直走,在原来right90的基础上恢复过来就left90
    drawLine(True) if dight in [0, 4, 5, 6, 8, 9] else drawLine(False) #判断第5段数码管(如果数字为0, 4, 5, 6, 8, 9则需要落笔绘制)
    drawLine(True) if dight in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False) #判断第6段数码管,(如果数字为0, 2, 3, 5, 6, 7, 8, 9则需要落笔绘制)
    drawLine(True) if dight in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False) #判断第7段数码管,(如果数字为0, 1, 2, 3, 4, 7, 8, 9则需要落笔绘制)
    t.right(180) # 调整方向,让下一个绘制回归原点
    t.penup() # 抬笔,停止绘制
    t.fd(20) # 前进20,为后续数字确定绘制位置

(2.3)、按七段数码管形式格式化输出日期数据

def draw7DightDate(date): # 将取得的日期数据按七段数码管的形式处理显示
    t.pencolor("red")
    for i in date:
        if i == '-': #按分隔符处理年
            t.write('年', font=("黑体", 12, "normal"))
            #t.pencolor("green")
            t.fd(40)
        elif i == '=': #按分隔符处理月
            t.write('月', font=("黑体", 12, "normal"))
            #t.pencolor("blue")
            t.fd(40)
        elif i == '+': #按分隔符处理日
            t.write('日', font=("黑体", 12, "normal"))
            t.pencolor("red")
            t.fd(40)
        elif i == '/': #按分隔符处理时
            t.write('时', font=("黑体", 12, "normal"))
            #t.pencolor("green")
            t.fd(40)
        elif i == '*': #按分隔符处理分
            t.write('分', font=("黑体", 12, "normal"))
            #t.pencolor("blue")
            t.fd(40)
        elif i == '.': #按分隔符处理秒
            t.write('秒', font=("黑体", 12, "normal"))
            t.fd(40)
        else: #绘制数码管数字
            draw7Dight(eval(i))

 

(3)、倒计时实现方法

思路:取得系统时间,再减去设定的时间,所得的就是倒计时需要的剩余时间

时间用到了datetime函数,需要预先导入:import datetime

获取当前的日期:

today = datetime.datetime.now()  # 获取当前的日期

设定的时间:例如元旦

springdate = datetime.datetime(2022, 12, 31)

设定的时间:例如春节

springdate1 = datetime.datetime(2023,1,22)

计算现在距离元旦还有多少天(除去今天外):

day = (springdate - today).days # 元旦日期减去当前日期

计算现在距离春节还有多少天(除去今天外):

day1 = (springdate1 - today).days  # 新年日期减去当前日期

 (4)、随机绘制雪花

     随机绘制用到了random函数,需要预先导入:

     import random

 t.pensize(1)
for j in range(100): 
    x = random.randint(-400, 400)
    y = random.randint(-300,300)
    dx = random.randint(1,10)
    for i in range(6):
        t.penup()
        t.goto(x, y)
        t.pendown()
        t.pencolor('white')
        t.forward(dx)
        t.left(60)
        t.circle(2)
        t.goto(x, y)

     代码中,for j in range(100): 这句里面的数字100就是需要python  turtle海龟绘制雪花的个数,数字越大,雪花越多,相应的绘图时间也会越长。前文效果图中,有两幅对比图,分别是300朵雪花和100朵雪花的效果图,可以按自己需要修改参数。

     记得发给朋友时不要设定下太大雪呀,就算你所在地正在下天崩级别的大雪,你也不可以同样定制,因为所绘制的雪花不会消融,只会堆积在那里。你。。。你会用人造雪把草莓熊给活埋了!!!草莓熊就不能把祝福带给你朋友了。。。

 

 

五、相关资源下载

(1)、色彩颜色对照表(300种颜色)(16进制、RGB、CMYK、HSV、中英文名)

(2)、我自己设计制作的草莓熊圣诞节底图,喜欢的可以下载搭配上

     记得保存时将文件名设为:cmx4_di1.gif,

     并将代码里:#t.bgpic("cmx4_di1.gif") 这句前面的 符号去掉。

 

 

 

六、运行python turtle绘图代码(本机运行、打包发给别人)

怎么才能正常运行python turtle绘图代码
(1)本机运行绘图代码
(2)打包发给别人欣赏python动画
      (a)安装Pyinstaller
      (b)用Pyinstaller打包动画文件


Pyinstaller参数详解
(1)可选参数
(2)、与生成结果有关的参数
(3)、指定打包哪些资源、代码
(4)、生成参数
(5)、Windows 和 Mac OS X 特定选项
(6)、Windows特有的参数

    具体的详细介绍写在此文中,请点击查看:巴斯光年python turtle绘图__附源代码

 

 

 

七、逆境清醒草莓熊(圣诞元旦倒数雪花版)源代码

#-*- coding: UTF-8 -*-
import turtle as t
import datetime
import time
import math
import random

"""
=================================================
@Project ->Adversity Awake 草莓熊系列
@类别     : 草莓熊->草莓熊之3
@Author  : 逆境清醒
@Date    : 2022/12/18 5:46
@Desc    :https://blog.csdn.net/weixin_69553582
=================================================
"""
# 设置背景颜色,窗口位置以及大小
 
t.colormode(255)# 颜色模式
t.speed(0)
t.screensize(900,760,"#010812")#画布大小背景颜色
t.setup(width=900, height=760,startx=None, starty=None) #绘图窗口的大小和起始坐标
#t.bgpic("cmx4_di1.gif")
t.title("逆境清醒草莓熊!")#设置绘图窗口的标题
t.resizemode('noresize')  #大小调整模式:auto,user,noresize
t.tracer(1)   
 
 



 
def mlingpen(x, y):
    t.penup()
    t.goto(x, y)
    t.pendown()
 

def rose(): #rose
    t.seth(90)
    mlingpen(-225, -60)
    t.pensize(10)
    t.pencolor("#035025")
    t.circle(300,30)
    mlingpen(-240, 70)
 
    t.pensize(2)
    t.color("#000000", "#22ac38")
    t.seth(12)
    mlingpen(-235,40)
    t.lt(40)
    t.fd(50)
    t.begin_fill()
    t.circle(-150,30)
    t.circle(-2,140)
    t.circle(-150,43)
    t.up()
    t.end_fill()
    mlingpen(-235,40)
    t.lt(330)
    t.fd(50)
    t.begin_fill()
    t.circle(-150,30)
    t.circle(-2,140)
    t.circle(-150,43)
    t.up()
    t.end_fill()
    mlingpen(-235,40)
    t.lt(260)
    t.fd(50)
    t.begin_fill()
    t.circle(-150,30)
    t.circle(-2,140)
    t.circle(-150,43)
    t.up()
    t.end_fill()
    t.pensize(2)
    t.seth(12)
    mlingpen(-210,60)  
    t.begin_fill()
    t.color("#000000", "#f8c0c8")
    t.circle(50,150)
    t.rt(20)
    t.fd(40)
    t.rt(40)
    t.circle(15,130)
    t.fd(50)
    t.circle(15,80)
    t.up()
    t.end_fill()
    t.pensize(2)
    t.seth(12)
    mlingpen(-210,65)  
    t.begin_fill()
    t.color("#f5aab5", "#f5aab5")
    t.circle(34,150)
    t.rt(20)
    t.fd(30)
    t.rt(40)
    t.circle(10,130)
    t.fd(50)
    t.circle(15,80)
    t.up()
    t.end_fill()
    t.pensize(2)
    t.seth(12)
    mlingpen(-210,65)  
    t.begin_fill()
    t.color("#f198a5", "#f198a5")
    t.circle(30,150)
    t.rt(20)
    t.fd(30)
    t.rt(40)
    t.circle(10,130)
    t.fd(50)
    t.circle(15,80)
    t.up()
    t.end_fill()
    t.pensize(2)
    t.seth(12)
    mlingpen(-210,65)  
    t.begin_fill()
    t.color("#ee8998", "#ee8998")
    t.circle(20,150)
    t.rt(20)
    t.fd(30)
    t.rt(40)
    t.circle(10,130)
    t.fd(50)
    t.circle(15,80)
    t.up()
    t.end_fill()
    mlingpen(-220,80)  
    t.begin_fill()
    t.color("#e56e7f", "#e56e7f")
    t.circle(15,200)
    t.rt(20)
    t.fd(30)
    t.rt(40)
    t.circle(10,130)
    t.fd(50)
    t.circle(15,80)
    t.up()
    t.end_fill()
    t.seth(35)
    mlingpen(-230,90)  
    t.begin_fill()
    t.color("#000000", "#fda7b5")
    t.circle(50,50)
    t.rt(40)
    t.circle(25,200)
    t.up()
    t.end_fill()
    t.seth(130)
    mlingpen(-294.51,142.14)  
    t.begin_fill()
    t.color("#000000", "#fdadb8")
    t.circle(20,100)
    t.rt(90)
    t.circle(10,180)
    t.rt(90)
    t.circle(15,130)
    t.rt(110)
    t.circle(30,130)
    t.rt(50)
    t.circle(50,80)
    t.up()
    t.end_fill()
    t.seth(80)
    mlingpen(-240,140)  
    t.begin_fill()
    t.color("#000000", "#fe8e9e")
    t.circle(10,100)
    t.rt(90)
    t.circle(12,150)
    t.rt(90)
    t.circle(15,130)
    t.rt(50)
    t.circle(50,80)
    t.rt(10)
    t.circle(50,80)
    t.goto(-240,140)
    t.up()
    t.end_fill()
    t.seth(80)
    mlingpen(-250,140)  
    t.begin_fill()
    t.color("#f9788b", "#f9788b")
    t.circle(5,130)
    t.rt(90)
    t.circle(10,170)
    t.rt(100)
    t.circle(10,130)
    t.rt(70)
    t.circle(40,80)
    t.rt(40)
    t.circle(30,30)
    t.goto(-250,140)
    t.up()
    t.end_fill()
    t.seth(10)
    mlingpen(-245, 80)
    t.begin_fill()  
    t.color("#000000", "#ef5f7a")
    t.seth(35)
    t.circle(30,80)
    t.rt(80)
    t.circle(10,150)
    t.rt(80)
    t.circle(17,200)
    t.rt(60)
    t.circle(29,120)
    t.goto(-245, 80)
    t.up()
    t.end_fill()
    t.seth(10)
    mlingpen(-250, 85)
    t.begin_fill()  
    t.color("#ef758c", "#ef758c")
    t.seth(35)
    t.circle(25,80)
    t.rt(80)
    t.circle(6,150)
    t.rt(80)
    t.circle(12,210)
    t.rt(60)
    t.circle(23,120)
    t.goto(-250, 85)
    t.up()
    t.end_fill()
    t.seth(0)  
    mlingpen(-250,125)
    t.pensize(5)
    t.dot("#ff4969")
    t.pensize(2)
    mlingpen(-266.97,121.26)
    t.pencolor("#321320")
    t.fillcolor("#f04969")
    t.begin_fill()
    t.rt(80)
    t.circle(12,150)
    t.rt(80)
    t.circle(6,270)
    t.rt(150)
    t.circle(10,180)
    t.up()
    t.end_fill()
    #t.color("#000000", "#f04969")
    t.seth(-70)
    mlingpen(-210,100)  
    t.begin_fill()
    t.color("#000000", "#f04969")
    t.rt(20)
    t.fd(30)
    t.circle(-40,170)
    t.lt(20)
    t.fd(20) 
    t.goto(-210,100)
    t.up()
    t.end_fill()
    t.seth(-70)
    mlingpen(-215,90)  
    t.begin_fill()
    t.color("#ee627d", "#ee627d")
    t.rt(20)
    t.fd(20)
    t.circle(-35,170)
    t.lt(20)
    t.fd(15)
    t.goto(-220,90)
    t.up()
    t.end_fill()
    t.seth(-70)
    mlingpen(-220,80)  
    t.begin_fill()
    t.color("#f47a91", "#f47a91")
    t.rt(20)
    t.fd(10)
    t.circle(-28,170)
    t.lt(20)
    t.fd(10)
    t.goto(-220,90)
    t.up()
    t.end_fill()
    t.seth(150)
    mlingpen(-220,100)  
    t.begin_fill()
    t.color("#000000", "#f7cad1")
    t.circle(20,80)
    t.rt(10)
    t.circle(-40,70)
    t.rt(10)
    t.circle(20,80)
    t.rt(5)
    t.circle(5,180)
    t.rt(80)
    t.circle(20,70)
    t.rt(80)
    t.circle(40,60)
    t.rt(10)
    t.circle(40,110)
    t.goto(-220,100) 
    t.up()
    t.end_fill()
    t.seth(150)
    mlingpen(-220,98)  
    t.begin_fill()
    t.color("#ffe9f2", "#ffe9f2")
    t.circle(15,80)
    t.rt(7)
    t.circle(-45,75)
    t.rt(8)
    t.circle(20,50)
    t.rt(5)
    t.circle(2,200)
    t.rt(80)
    t.circle(15,85)
    t.rt(80)
    t.circle(40,60)
    t.rt(20)
    t.circle(30,70)
    t.goto(-220,98) 
    t.up()
    t.end_fill()
    t.seth(150)
    mlingpen(-180,55)  
    t.begin_fill()
    t.color("#000000", "#f7cad1")
    t.circle(30,80)
    t.rt(10)
    t.circle(-60,70)
    t.rt(5)
    t.circle(30,80)
    t.rt(5)
    t.circle(5,180)
    t.rt(90)
    t.circle(30,80)
    t.rt(80)
    t.circle(40,70)
    t.circle(20,50)
    t.rt(90)
    t.circle(20,95)
    t.goto(-180,55)
    t.up()
    t.end_fill()
    t.seth(150)
    mlingpen(-190,50)  
    t.begin_fill()
    t.color("#f7e0e3", "#f7e0e3")
    t.circle(25,80)
    t.rt(8)
    t.circle(-55,75)
    t.rt(3)
    t.circle(25,60)
    t.rt(6)
    t.circle(5,200)
    t.rt(90)
    t.circle(30,80)
    t.rt(80)
    t.circle(22,80)
    t.circle(20,40)
    t.rt(80)
    t.circle(15,90)
    t.goto(-190,50)
    t.up()
    t.end_fill()
 
 
 
mling_circle_list = iter([  # 每段弧线(半径,弧角度数)
    (18, 360), (14, 360), (10, 360), (6, 360),
    (18, 360), (14, 360), (10, 360), (6, 360),
])
 
 
def mling_draw_eyeball(zb1,zb2,zb3,zb4):  
    for zb, color_ in zip([zb1,zb2,zb3,zb4], ['#ffffff', '#482d08', '#000000', '#ffffff']):
        t.penup()
        t.goto(*zb)
        t.pendown()
        t.begin_fill()
        t.setheading(0)
        t.color(color_)
        t.pencolor('#000000')
        t.pensize(2)
        t.circle(*next(mling_circle_list))
        t.end_fill()
 
t.penup()
p = t.home()
t.pencolor("#321320")
t.fillcolor("#cb3263")
t.pensize(4)
t.goto(120,110)
t.pendown()
t.begin_fill()
t.goto(200,0)
t.left(-40)
t.circle(-110,105)
t.left(75)
t.goto(170,-110)
t.left(-80)
t.circle(30,40)
t.left(60)
t.circle(-80,70)
t.left(83)
t.circle(-35,95)
t.goto(60,-270)
t.left(-80)
t.circle(-65,70)
t.left(63)
t.circle(35,30)
t.left(130)
t.circle(-65,70)
t.goto(-120,-270)
t.left(-110)
t.circle(-35,80)
t.left(83)
t.circle(-80,50)
t.left(60)
t.circle(-80,60)
t.left(60)
t.circle(30,30)
t.left(20)
t.circle(80,80)
t.left(-105)
t.circle(-70,150)
t.left(50)
t.circle(-170,50)
t.goto(120,110)
#Author:Adversity Awake
t.end_fill()
t.penup()
p = t.home()
t.pencolor("#321320")
t.fillcolor("#ffffff")
t.pensize(4)
t.goto(90,60)
t.pendown()
t.begin_fill()
t.right(30)
t.circle(-130,360)
t.end_fill()
t.penup()
p = t.home()
t.pencolor("#321320")
#t.fillcolor("#f3d2ad")
t.fillcolor("#015426")
t.pensize(4)
t.goto(-250,-55)
t.dot("blue")
t.seth(0)
t.pendown()
t.begin_fill()
t.right(-55)
#t.circle(-45,270)
t.circle(-35,70)
t.goto(-200,-165)
t.goto(-250,-165)
t.goto(-220,-75)
t.goto(-250,-55)
t.end_fill()
 
rose()
 
t.penup()
p = t.home()
t.pencolor("#321320")
#t.fillcolor("#f3d2ad")
t.fillcolor("#f3d2ad")
t.pensize(4)
t.goto(185,-90)
t.pendown()
t.begin_fill()
t.right(140)
t.circle(43,95)
t.goto(185,-90)
t.end_fill()
t.penup()
t.seth(0)
t.pencolor('#321320')
t.fillcolor('#cb3263')
t.pensize(4)
t.begin_fill()
t.goto(21,0)
t.pendown()
t.circle(123,134)
t.left(-90)
t.circle(40,185)
t.left(-60)
t.circle(120,60)
t.left(-90)
t.circle(50,200)
t.left(-90)
t.circle(100,100)
t.left(-12)
t.circle(100,40)
t.goto(21,0)
t.penup()
#Author:Adversity Awake
t.end_fill()
t.penup()
t.goto(0, 0)
t.seth(0)
t.pencolor('#321320')
t.fillcolor('#ffffff')
t.pensize(4)
t.begin_fill()
t.goto(-70,210)
t.left(140)
t.pendown()
t.circle(30,200)
t.goto(-70,210)
t.penup()
t.end_fill()
t.penup()
t.goto(0, 0)
t.seth(0)
t.pencolor('#321320')
t.fillcolor('#ffffff')
t.pensize(4)
t.begin_fill()
t.goto(90,220)
t.left(45)
t.pendown()
t.circle(22,200)
t.goto(90,220)
t.penup()
t.end_fill()
t.penup()
t.goto(0, 0)
t.seth(0)
t.pencolor('#321320')
t.fillcolor('#ffffff')
t.pensize(4)
t.begin_fill()
t.left(-98)
t.left(90)
t.goto(18,10)
t.pendown()
t.circle(100,134)
t.left(10)
t.circle(110,30)
t.left(10)
t.circle(160,40)
t.circle(85,40)
t.left(2)
t.circle(95,40)
t.left(5)
t.circle(95,60)
t.goto(18,10)
t.penup()
t.end_fill()
t.penup()
p = t.home()
t.pencolor("#321320")
t.fillcolor("#8f3a52")
t.pensize(2)
t.goto(25,240)
t.pendown()
t.begin_fill()
t.goto(60,235)
t.left(30)
t.fd(8)
t.left(90)
t.fd(22)
t.circle(90, 8)
t.left(20)
t.circle(90, 8)
t.left(20)
t.circle(90, 20)
t.left(40)
t.circle(50, 20)
t.end_fill()
t.penup()
t.pensize(12)
t.goto(-2,250)
t.pencolor("#4D1F00")
t.fillcolor("#4D1F00")
t.pendown()
t.goto(60,240)
t.end_fill()
t.penup()
p = t.home()
t.pencolor("#321320")
t.fillcolor("#8f3a52")
t.pensize(2)
t.goto(-55,193)
t.pendown()
t.begin_fill()
t.left(65)
t.circle(-90, 25)
t.goto(-10,230)
t.left(30)
t.fd(8)
t.left(90)
t.fd(18)
t.circle(90, 8)
t.left(20)
t.circle(90, 10)
t.left(40)
t.circle(90, 30)
t.left(30)
t.circle(40, 20)
t.penup()
t.end_fill()
t.pensize(12)
t.goto(-63,195)
t.pencolor("#4D1F00")
t.fillcolor("#4D1F00")
t.pendown()
t.left(100)
t.circle(-85,45)
t.end_fill()
 
mling_draw_eyeball((-20,180), (-23,185), (-25,188), (-30,200)) 
mling_draw_eyeball((30, 193), (27, 200), (25,203), (20,213)) 
 
t.penup()
p = t.home()
t.pencolor("#321320")
t.fillcolor("#8f3a52")
t.pensize(3)
t.goto(25,105)
p = t.pos()
t.pendown()
t.begin_fill()
t.circle(85, 65)
t.left(16)
t.circle(30, 55)
t.left(20)
t.circle(145, 58)
t.left(8)
t.circle(20, 55)
t.left(8)
t.circle(50, 65)
t.left(-5)
t.circle(310, 8)
t.end_fill()
t.penup()
t.goto(0, 0)
t.seth(0)
t.pencolor('#321320')
t.fillcolor('#a93e54')
t.pensize(3)
t.begin_fill()
t.left(-20)
t.goto(9,66)
t.pendown()
t.circle(68,40)
t.left(10)
t.circle(65,40)
t.left(160)
t.circle(-75,85)
t.left(158)
t.circle(48,37)
t.goto(9,66)
t.penup()
t.end_fill()
t.color('#987824')
t.penup()
#t.goto(260,60)
#t.pendown()
mlingpen(260,60)
t.write("祝\n你\n节\n日\n快\n乐\n",align="center",font=("黑体",22,"normal"))
t.penup()
t.goto(300,195)
t.pendown()
t.write("逆\n境\n清\n醒\n",align="center",font=("黑体",15,"normal"))


def liwuhe(): #liwuhe
    #AdversityAwake
    t.seth(-90)  
    t.pencolor('#ca7124')
    t.fillcolor('#fddeaf')
    t.pensize(3)
    mlingpen(266,-55)
    t.begin_fill()
    t.fd(130)
    t.rt(80)
    t.fd(80)
    t.rt(100)
    t.fd(132)
    t.rt(80)
    t.goto(266,-55)
    t.up()
    t.end_fill()
    #AdversityAwake
    t.seth(-90)
    t.pencolor('#ca7124')
    t.fillcolor('#f8b756')
    t.pensize(3)
    mlingpen(186,-70)
    t.begin_fill()
    t.fd(130)
    t.rt(110)
    t.fd(110)
    t.rt(70)
    t.fd(110)
    t.rt(80)
    t.goto(186,-70)
    t.up()
    t.end_fill()
    #AdversityAwake
    t.seth(0)
    t.pencolor('#ca7124')
    t.fillcolor('#e8a846')
    t.pensize(3)
    mlingpen(186,-35)
    t.begin_fill()
    t.lt(6)
    t.fd(86)
    t.lt(170)
    t.fd(90)
    t.goto(80,-23)
    t.goto(186,-35)
    t.end_fill()
    t.up()
    #AdversityAwake
    t.seth(-90)
    t.pencolor('#ca7124')
    t.fillcolor('#fce3b8')
    t.pensize(3)
    mlingpen(270,-25)
    t.begin_fill()
    t.fd(30)
    t.rt(80)
    t.fd(85)
    t.rt(105)
    t.fd(34)
    t.rt(80)
    t.goto(270,-25)
    t.end_fill()
    t.up()
    #AdversityAwake
    t.seth(-90)
    t.pencolor('#ca7124')
    t.fillcolor('#e8a846')
    t.pensize(3)
    mlingpen(186,-34)
    t.begin_fill()
    t.fd(34)
    t.rt(100)
    t.fd(110)
    t.rt(78)
    t.fd(30)
    t.rt(75)
    t.goto(186,-34)
    t.end_fill()
    t.up()
    #AdversityAwake
    t.seth(90)
    t.pencolor('#fe000b')
    t.fillcolor('#fe000b')
    t.pensize(20)
    mlingpen(130,-55)
    t.fd(26)
    t.rt(80)
    t.fd(90)
    t.bk(40)
    t.rt(25)
    t.fd(50)
    t.rt(80)
    t.goto(240,-60)
    t.dot(30,"white")
    mlingpen(170,-20)
    t.goto(130,10)
    t.goto(110,-10)
    t.goto(170,-20)
    mlingpen(170,-20)
    t.goto(230,15)
    t.goto(250,-10)
    t.goto(170,-20)
    t.up()
    t.dot(30,"white")
    mlingpen(190,-10)
    t.dot(30,"white")
    mlingpen(130,-55)
    t.dot(30,"white")

liwuhe()

def julispring(): #julichunjie
    #springdate = time.strftime(2023, 1, 22, 0, 0, 0)  # 新的一年的日期
    springdate = datetime.datetime(2022, 12, 31)
    springdate1 = datetime.datetime(2023,1,22)
    today = datetime.datetime.now()  # 获取当前的日期
    day = (springdate - today).days  # 元旦日期减去当前日期
    day1 = (springdate1 - today).days  # 新年日期减去当前日期
    mlingpen(-350,235)
    t.write('距离元旦还有:', font=("黑体", 12, "bold"))
    mlingpen(-220,245)
    for i in str(day):
        draw7Dight(eval(i))
    mlingpen(-153,220)
    t.write('天\n', font=("黑体", 12, "bold"))
    mlingpen(-350,200)
    t.write('距离春节还有:', font=("黑体", 12, "bold"))
    mlingpen(-220,205)
    for i in str(day1):
        draw7Dight(eval(i))
    mlingpen(-153,185)
    t.write('天\n', font=("黑体", 12, "bold"))

def julishengdanjie(): #julishengdanjie
    shengdandate = datetime.datetime(2022, 12, 25, 0, 0, 0)  # 新的一年的日期
    today = datetime.datetime.now()  # 获取当前的日期
    day = (shengdandate - today).days  # 新年日期减去当前日期
    #print("离圣诞节还有" + str(day) + "天" + '\r')
    t.write('距离圣诞还有:', font=("黑体", 12, "bold"))
    mlingpen(-190,280)
    for i in str(day):
        draw7Dight(eval(i))
    mlingpen(-153,260)
    t.write('天\n', font=("黑体", 12, "bold"))




# 数码管

def drawLine(draw):#绘制某单段(行或列)数码管的函数
    t.pd() if draw else t.pu()#如果有就落笔,没有就抬笔
    t.fd(10)# 向前绘制10
    t.right(90)#顺时针转90度


def draw7Dight(dight):#根据数字绘制七段数码管
    drawLine(True) if dight in [2, 3, 4, 5, 6, 8, 9] else drawLine(False) #判断第1段数码管(如果数字为2, 3, 4, 5, 6, 8, 9中的一个则需要落笔绘制)
    drawLine(True) if dight in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False) #判断第2段数码管,(如果数字为0, 1, 3, 4, 5, 6, 7, 8, 9中的一个则需要落笔绘制)
    drawLine(True) if dight in [0, 2, 3, 5, 6, 8, 9] else drawLine(False) #判断第3段数码管(如果数字为0, 2, 3, 5, 6, 8, 9中的一个则需要落笔绘制)
    drawLine(True) if dight in [0, 2, 6, 8] else drawLine(False) #判断第4段数码管,(如果数字为0, 2, 6, 8中的一个则需要落笔绘制)
    t.left(90) #走完1234段数码管,到第5段时需直走,在原来right90的基础上恢复过来就left90
    drawLine(True) if dight in [0, 4, 5, 6, 8, 9] else drawLine(False) #判断第5段数码管(如果数字为0, 4, 5, 6, 8, 9则需要落笔绘制)
    drawLine(True) if dight in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False) #判断第6段数码管,(如果数字为0, 2, 3, 5, 6, 7, 8, 9则需要落笔绘制)
    drawLine(True) if dight in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False) #判断第7段数码管,(如果数字为0, 1, 2, 3, 4, 7, 8, 9则需要落笔绘制)
    t.right(180)#调整方向,让下一个绘制回归原点
    t.penup()#抬笔,停止绘制
    t.fd(20)#前进20,为后续数字确定绘制位置


def draw7DightDate(date):#将取得的日期数据按七段数码管的形式处理显示,
    t.pencolor("red")
    for i in date:
        if i == '-':#按分隔符处理年
            t.write('年', font=("黑体", 12, "normal"))
            #t.pencolor("green")
            t.fd(40)
        elif i == '=':#按分隔符处理月
            t.write('月', font=("黑体", 12, "normal"))
            #t.pencolor("blue")
            t.fd(40)
        elif i == '+':#按分隔符处理日
            t.write('日', font=("黑体", 12, "normal"))
            t.pencolor("red")
            t.fd(40)
        elif i == '/':#按分隔符处理时
            t.write('时', font=("黑体", 12, "normal"))
            #t.pencolor("green")
            t.fd(40)
        elif i == '*':#按分隔符处理分
            t.write('分', font=("黑体", 12, "normal"))
            #t.pencolor("blue")
            t.fd(40)
        elif i == '.':#按分隔符处理秒
            t.write('秒', font=("黑体", 12, "normal"))
            t.fd(40)
        else: #绘制数码管数字
            draw7Dight(eval(i))

mlingpen(-350,330)
t.pencolor("white")
t.write('现在是:', font=("黑体", 12, "bold"))
mlingpen(-280,330)
t.seth(0)
t.pensize(5)
draw7DightDate(time.strftime('%Y-%m=%d+', time.localtime()))
t.pencolor("white")
mlingpen(-350,290)
t.write('不算今天', font=("黑体", 10, "normal"))
mlingpen(-350,270)
julishengdanjie()
mlingpen(-350,250)
julispring()

t.pensize(1)
for j in range(100): 
    x = random.randint(-400, 400)
    y = random.randint(-300,300)
    dx = random.randint(1,10)
    for i in range(6):
        t.penup()
        t.goto(x, y)
        t.pendown()
        t.pencolor('white')
        t.forward(dx)
        t.left(60)
        t.circle(2)
        t.goto(x, y)

t.hideturtle()
t.done()
 
 

      推荐阅读:

23​草莓熊python turtle绘图(圣诞元旦倒数雪花版)附源代码
22

【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)

21

0a4256d5e96d4624bdca36433237080b.png

python爱心源代码集锦
20

4d9032c9cdf54f5f9193e45e4532898c.png

巴斯光年python turtle绘图__附源代码
19

074cd3c255224c5aa21ff18fdc25053c.png​​

Three.js实例详解___旋转的精灵女孩(附完整代码和资源)
18

daecd7067e7c45abb875fc7a1a469f23.png​​​

​草莓熊python turtle绘图(玫瑰花版)附源代码

17

fe88b78e78694570bf2d850ce83b1f69.png​​​

立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦

16

c5feeb25880d49c085b808bf4e041c86.png​​​

皮卡丘python turtle海龟绘图(电力球版)附源代码

15

38266b5036414624875447abd5311e4d.png​​​

【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

14

03ed644f9b1d411ba41c59e0a5bdcc61.png​​​

草莓熊python turtle绘图(风车版)附源代码

13

09e08f86f127431cbfdfe395aa2f8bc9.png​​​

用代码过中秋,python海龟月饼你要不要尝一口?

12

40e8b4631e2b486bab2a4ebb5bc9f410.png​​​

《 Python List 列表全实例详解系列》__系列总目录

11

938bc5a8bb454a41bfe0d4185da845dc.jpeg​​​

用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

10

0f09e73712d149ff90f0048a096596c6.png​​​

Python函数方法实例详解全集(更新中...)

9

93d65dbd09604c4a8ed2c01df0eebc38.png​​​

matplotlib 自带绘图样式效果展示速查(全)

8

aa17177aec9b4e5eb19b5d9675302de8.png​​​

手机屏幕坏了____怎么把里面的资料导出(18种方法)

7

1750390dd9da4b39938a23ab447c6fb6.jpeg​​​

2022年12月多家权威机构____编程语言排行榜__薪酬状况

6

dc8796ddccbf4aec98ac5d3e09001348.jpeg​​​

Python中Print()函数的用法___实例详解(全,例多)

5

1ab685d264ed4ae5b510dc7fbd0d1e55.jpeg​​​

色彩颜色对照表(300种颜色)(16进制、RGB、CMYK、HSV、中英文名)

4

80007dbf51944725bf9cf4cfc75c5a13.png​​​

Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)

3

c6374d75c29942f2aa577ce9c5c2e12b.png​​​

Tomcat 启动闪退问题解决集(八大类详细)

2

5218ac5338014f389c21bdf1bfa1c599.png​​​

Tomcat端口配置(详细)

1

fffa2098008b4dc68c00a172f67c538d.png​​​

Tomcat10 安装(Windows环境)(详细)sss

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LaTeX教程(四)——文档内元素

文章目录1. 表格2. 插入图片3. 盒子4. 浮动体1. 表格 LaTeX的表格不想Word能够做到所见即所得,当表格较小还好,一旦表格内容逐渐增多,那么编写表格就变得十分麻烦了,为此,一般都是用在线表格并生成LaTeX代码的形式来得…

Linux——管道和重定向

一、Linux的文件 linux中奉行一切皆文件,包括目录、链接(类似windows的快捷方式)、设备文件。 在内核中,所有打开的文件都使用文件描述符(一个非负整数)标记。文件描述符的变化范围是0~OPEN_MAX – 1。早期的unix系统…

前端CDN和DNS

DNS的基础知识 统一资源定位符(URL) scheme: 方案,包括http,https协议。 host:主机 port:端口 path:路径 query:查询 fragment:片段,访问网址时候定位某个位置 DNS (Do…

Java 开发环境配置

在本章节中我们将为大家介绍如何搭建Java开发环境。 Windows 上安装开发环境Linux 上安装开发环境安装 Eclipse 运行 Javawindow系统安装java 下载JDK 首先我们需要下载 java 开发工具包 JDK,下载地址:Java Downloads | Oracle,在下载页面…

Kaggle房价预测 特征工程模型聚合

目录 一:Kaggle数据集准备 二:数据集分析 三:空值处理 四:空值填充 五:查找所有字符列 六:实例化独热编码对象 七:方差过滤 八:特征数据提取 九:查看特征之间…

跨域/解决跨域方法

一、同源策略 同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也是最基本的安全功能。同源策略会阻止一个域的javascrip脚本和另一个域的内容进行交互,是用于隔离潜在恶意文件的关键安全机制;关于这一点我们后面会举例说明。如果缺…

C语言—指针

指针用来存放一个内存地址&#xff1b; 指针的类型就是要存放地址的变量的数据类型&#xff1b; #include <stdio.h>int main() {int a 123;char b H;int *pa &a;char *pb &b;printf("%d\n", *pa);printf("%c", *pb); } pa要存放int类…

评估篇 | 单元测试评估也能复用到集成测试?脚本帮你高效评估

上次我们分享了单元测试用例的复用&#xff0c;单元测试的用例可以复用到集成测试&#xff0c;那单元测试的评估是否也可以复用到集成测试&#xff1f;答案是可以的。 TPT中提供了多种多样的评估方式&#xff0c;其中的脚本评估使我们复用测试评估成为可能。脚本评估&#xff…

@EnableCaching如何一键开启缓存

EnableCaching如何一键开启缓存手动挡CacheManagerCache使用演示小结自动挡CachingConfigurationSelectorAutoProxyRegistrarProxyCachingConfigurationCacheOperationSourceCacheOperationBeanFactoryCacheOperationSourceAdvisorCacheInterceptor小结手动挡 我们首先来看看S…

成本、利润分析法在企业管理中的应用

1 、成本、利润分析法的主要内容 成本、利润分析法主要是指&#xff0c;利用数学模型&#xff0c;对关于企业成本、利润的要素分析&#xff0c;然后计算出要素的改变对企业成本、利润的影响&#xff0c;进而对企业决策提出建议的一种方法。在成本、利润分析法中&#xff0c;最主…

基础IO——文件描述符

文章目录1. 文件描述符fd1.1 open返回值2. 理解Linux下一切皆文件3. 文件描述符的分配规则4. 重定向的本质4.1 使用 dup2 系统调用4.2 追加重定向4.3 输入重定向1. 文件描述符fd 1.1 open返回值 我们先来看下面的例子&#xff1a; 运行结果如下&#xff1a; 我们知道open的…

磺基-CY5 马来酰亚胺 Cyanine5 Maleimide

磺基-CY5 马来酰亚胺 Cyanine5 Maleimide Cyanine5 maleimide是单一活性染料&#xff0c;有选择性的与硫醇基团&#xff08;比如蛋白和多肽的半胱氨酸&#xff09;结合以进行标记。我们使用水溶的Sulfo-Cyanine5 maleimide标记抗体和其他敏感蛋白。Cyanine5是Cy5的类似物&am…

Pb协议的接口测试

Protocol Buffers 是谷歌开源的序列化与反序列化框架。它与语言无关、平台无关、具有可扩展的机制。用于序列化结构化数据&#xff0c;此工具对标 XML &#xff0c;支持自动编码&#xff0c;解码。比 XML 性能好&#xff0c;且数据易于解析。更多有关工具的介绍可参考官网。 P…

Java8新特性学习

文章目录Lambda表达式为什么使用Lambda表达式Lambda表达式语法语法格式一&#xff1a;无参数&#xff0c;无返回值语法格式二&#xff1a;有一个参数&#xff0c;并且无返回值语法格式三&#xff1a;若只有一个参数&#xff0c;小括号可以省略不写语法格式四&#xff1a;有两个…

Docker容器数据卷

是什么 卷就是目录或文件&#xff0c;存在于一个或多个容器中&#xff0c;由docker挂载到容器&#xff0c;但不属于联合文件系统&#xff0c;因此能够绕过Union File System提供一些用于持续存储或共享数据的特性&#xff1a;卷的设计目的就是数据的持久化&#xff0c;完全独立…

LSTM(Long Short-Term Memory)

长短期记忆&#xff08;long short-term memory&#xff0c;LSTM&#xff09;&#xff0c;LSTM 中引入了3个门&#xff0c;即输入门&#xff08;input gate&#xff09;、遗忘门&#xff08;forget gate&#xff09;和输出门&#xff08;output gate&#xff09;&#xff0c;以…

华为时习知,让企业培训更简单!

在数字经济的发展过程中&#xff0c;人才始终是不容忽视的关键因素&#xff0c;企业对数字化人才培养的需求也愈加迫切。然而企业培训说起来简单&#xff0c;要做好却绝非易事。企业可能会面临员工分散各地、流动性大、关键岗位人才培训等复杂培训场景问题&#xff0c;无法高效…

为什么我们说NFT拥有无限潜力?

欢迎来到Hubbleverse &#x1f30d; 关注我们 关注宇宙新鲜事 &#x1f4cc; 预计阅读时长&#xff1a;8分钟 本文仅代表作者个人观点&#xff0c;不代表平台意见&#xff0c;不构成投资建议。 2021年底&#xff0c;NFT就已经发展得炙手可热了&#xff0c;热门到410亿美元投…

YOLO-V5 算法和代码解析系列(一)—— 快速开始

文章目录运行环境配置Demo重新训练 YOLO-V5s运行环境配置 环境配置的官方教程如下&#xff0c;如果一些库安装失败&#xff0c;导致安装中断&#xff0c;可以单独安装一些库&#xff0c;比如 Pytorch&#xff0c;然后再执行下列安装步骤&#xff0c;具体如下&#xff1a; 个人建…

国内食糖行业数据浅析

大家好&#xff0c;这里是小安说网控。 食糖行业是国民消费不可或缺的产业之一。2022年9月份国内成品糖产量当期值为40.4万吨&#xff0c;同比增长30.7%&#xff1b;10月份当期值为63.7万吨&#xff0c;同比下滑2%。今年1-10月份&#xff0c;国内成品糖产量累计值为1089.4万吨&…