所感是对毕业季的感想,所现是代码的实现

所感

六月的风悄然吹过,啊,是炽热的风,和这风一起来的还有毕业的脚步,是的,我毕业了,我去年就毕业了,但今年这场毕业盛典或许不应该仅仅属于这一届毕业生,请允许我这位学长,没穿过学士服,没有毕业照,没有毕业典礼的一位学长,也蹭一蹭今年的毕业季,假装自己刚刚毕业。

我是一名大四的学生,论文已经提交了,马上就要毕业了,宿舍楼下的帐篷都支了起来,人们开始忙着邮寄自己的物品,大包小包,四年的青春竟是如此沉重,这还是丢弃和出售过后的成果,我也要整理好了自己的行李,还有舍友的物品,先去取学位证书和毕业证书吧,由于不小心被雨水浸泡还没拿到手的证书封皮居然已经发霉变形了,这就是我们的毕业季吗?疫情、霉运、凑不齐的舍友,合照上样式各异的服装和半数的同学。好在离开宿舍时没有热泪滚落,没有太多伤感,仿佛是一次寒暑假的离别,也或许是因为我和舍友一同离开的宿舍,少了在宿舍的互相道别,也就少了那一份伤感。

我是一名毕业生,调剂上岸了,每天有时间就做做导师给的任务,朴实无华且枯燥,刚毕业的那几天,我会时不时的翻翻毕业证书,那本毕业相册却很少打开,就这么毕业了吧,开始下一段旅途了。

我是一名研一的学生,趁着端午回了一趟母校,千里迢迢,还由于起晚误了飞机,多花了1000多块,飞机、地铁、火车、大巴,返校的路还是这么曲折,汽车站却是一副崭新模样,疫情的阴霾还未完全褪去,尤其是对于护城河来说,封校成了常态,我只能经由栅栏的缺口出入学校,校园倒没有大的变化,还是记忆中的模样。可惜假期太短,毕业典礼又太晚,回到现在的学校后,才在空间看到,这就是大鹏一日同风起,扶摇直上九万里吧。

turtle库绘图:毕业了,为自己放一场烟花吧_python绘图

所现

回到学校,不断的翻看空间、朋友圈,内心思绪万千,又恰巧看到了这次征文活动,那就借此机会为毕业的你们和自己放一场烟花吧。

turtle库绘图:毕业了,为自己放一场烟花吧_ide_02

绽放前烟花参考自己之前的博客turtle库绘制QQ表情“蹭一蹭” “惊鸿一现”部分
绽放效果参考博客Python制作烟花秀 整体实现代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
@Date: 2021/6/19 16:21:15
@Software: PyCharm
@Author: lazyn
"""

import time
import random
import turtle
from turtle import *


def draw_firework(count, dis, ang):
    for c in range(count):
        forward(dis)
        left(ang)


def draw(lis):
    pensize(1)
    for t in range(10):
        for li in lis:
            x, y, col, dis, ang, add, count = li
            penup(), goto(x - t * add / 2, y), pendown()
            color('black', col)
            begin_fill()
            setheading(0)
            draw_firework(count, t * add + 30, ang)
            end_fill()
        update()
        time.sleep(0.015)
        clear()

    pensize(2)
    for t in range(10):
        for li in lis:
            x, y, col, dis, ang, add, count = li
            count = int(count / 4)
            penup(), goto(x - add * 5 + 10, y), pendown()
            setheading(-90)
            stara = dis / 2 - 10
            penup(), left(90), backward(2 * t), right(90)
            for i in range(count):
                penup()
                pencolor(col)
                circle(stara + t * 2, 360 / count - 1)
                pendown()
                circle(stara + t * 2, 1)
        update()
        time.sleep(0.03)
        clear()


def main(cols):
    while True:
        fires = random.randint(10, 15)
        need_list = []
        for f in range(fires):
            startx, starty = random.randint(-350, 350), random.randint(-100, 250)
            ccol = random.choice(cols)
            dist = random.randint(50, 80)
            if dist <= 60:
                angle = 171
            else:
                angle = random.choice([174, 175, 176])
            add = (dist - 30) / 10
            count = int(360 / (180 - angle))
            need_list.append([startx, starty, ccol, dist, angle, add, count])
        draw(need_list)
        clear()
    done()


if __name__ == '__main__':
    setup(810, 605)
    screensize(800, 600, 'black')
    hideturtle()
    colors = ['red', 'blue', 'yellow', 'white',
              'green', 'orange', 'purple', 'seagreen',
              'indigo', 'cornflowerblue']
    tracer(False)
    main(colors)