使用Python来下一场深夜雪

效果图:(真实情况是动态的)

完整代码:

python 复制代码
import turtle
import random

# 初始化画布
turtle.bgcolor("#001f3f")  # 偏深蓝色的背景
turtle.title("下雪的画面")
turtle.speed(0)
turtle.hideturtle()
turtle.tracer(0)

# 雪花的数量
num_snowflakes = 200
snowflakes = []

# 创建雪花
for _ in range(num_snowflakes):
    x = random.randint(-300, 300)
    y = random.randint(0, 600)
    size = random.randint(2, 6)  # 随机大小
    fall_speed = random.uniform(3, 6)  # 增加下落速度
    snowflakes.append([x, y, size, fall_speed])

def draw_snowflake(x, y, size):
    turtle.penup()
    turtle.goto(x, y)
    turtle.pendown()
    turtle.dot(size, "white")  # 使用随机大小的雪花

def fall_snowflakes():
    turtle.clear()
    for snowflake in snowflakes:
        x, y, size, fall_speed = snowflake
        draw_snowflake(x, y, size)
        # 更新雪花的位置
        y -= fall_speed
        if y < -300:  # 如果雪花落到屏幕底部,重置位置
            y = random.randint(600, 800)
            x = random.randint(-300, 300)
            size = random.randint(2, 6)  # 随机大小
            fall_speed = random.uniform(3, 6)  # 增加下落速度
        snowflake[0], snowflake[1], snowflake[2], snowflake[3] = x, y, size, fall_speed  # 更新雪花位置、大小和速度

    turtle.update()
    turtle.ontimer(fall_snowflakes, 20)  # 每20毫秒更新一次

def main():
    fall_snowflakes()
    turtle.done()

if __name__ == "__main__":
    main()
相关推荐
xcLeigh2 小时前
Python入门:Python3 requests模块全面学习教程
开发语言·python·学习·模块·python3·requests
xcLeigh2 小时前
Python入门:Python3 statistics模块全面学习教程
开发语言·python·学习·模块·python3·statistics
YongCheng_Liang3 小时前
从零开始学 Python:自动化 / 运维开发实战(核心库 + 3 大实战场景)
python·自动化·运维开发
鸽芷咕3 小时前
为什么越来越多开发者转向 CANN 仓库中的 Python 自动化方案?
python·microsoft·自动化·cann
秋邱3 小时前
用 Python 写出 C++ 的性能?用CANN中PyPTO 算子开发硬核上手指南
开发语言·c++·python
wenzhangli73 小时前
ooderA2UI BridgeCode 深度解析:从设计原理到 Trae Solo Skill 实践
java·开发语言·人工智能·开源
灵感菇_3 小时前
Java 锁机制全面解析
java·开发语言
wazmlp0018873693 小时前
python第三次作业
开发语言·python
娇娇乔木3 小时前
模块十一--接口/抽象方法/多态--尚硅谷Javase笔记总结
java·开发语言
明月醉窗台4 小时前
qt使用笔记六之 Qt Creator、Qt Widgets、Qt Quick 详细解析
开发语言·笔记·qt