Python浪漫之画星星

效果图(动态的哦!):

完整代码(上教程):

python 复制代码
import turtle
import random
import time  # 导入time模块

# 创建一个画布
screen = turtle.Screen()
screen.bgcolor("red")

# 创建一个海龟(turtle)
star = turtle.Turtle()
star.color("yellow")
star.speed(5)


# 函数:绘制星星
def draw_star(size):
    star.begin_fill()
    for _ in range(5):
        star.forward(size)
        star.right(144)  # 144度的角度
    star.end_fill()



# 函数:抖动星星
def shake_star():
    # 生成随机的抖动偏移量
    x_offset = random.randint(-10, 10)
    y_offset = random.randint(-10, 10)

    # 移动星星到新位置
    star.penup()
    star.goto(x_offset, y_offset)
    star.pendown()


# 主程序
def main():
    while True:
        shake_star()  # 抖动星星
        star.clear()  # 清除之前的星星
        draw_star(200)  # 绘制新星星
        time.sleep(1)  # 暂停1秒


# 启动程序
if __name__ == "__main__":
    main()
    turtle.done()  # 结束时点击关闭窗口
相关推荐
!停13 分钟前
C++入门—初阶模板
开发语言·c++
so2F32hj214 分钟前
拆解 OpenHands(14)--- Microagents
java·开发语言
Jp7gnUWcI27 分钟前
C++ 内存避坑指南:如何用移动语义和智能指针解决“深拷贝”与“内存泄漏”
开发语言·c++
xcs194051 小时前
Java 上位机防空警报系统开发
java·开发语言
Ulyanov1 小时前
卡尔曼滤波技术博客系列:第四篇:多目标跟踪:数据关联与航迹管理
python·目标跟踪·系统仿真·雷达电子战·仿真引擎
追光的蜗牛丿1 小时前
C++中引用与指针的选择
开发语言·c++
Three~stone1 小时前
MATLAB vs Python 两者区别和安装教程
开发语言·python·matlab
soragui1 小时前
【Python】第 1 章:Python 解释器原理
开发语言·python
Ulyanov1 小时前
卡尔曼滤波技术博客系列:第三篇 雷达目标跟踪:运动模型与坐标转换
python·目标跟踪·系统仿真·雷达电子战
UAq6wn76j1 小时前
.NET源码生成器使用SyntaxTree生成代码及简化语法
java·开发语言·.net