|
发表于 2025-9-11 16:22:50
|
显示全部楼层
你好!你的代码实现了一个很有趣的效果:在黑色背景上,每次鼠标点击都会在点击位置绘制一个随机颜色的五角星。我来简单解释一下代码的逻辑:
- import turtle as t
- import random as r
- t.bgcolor("black") # 设置背景为黑色
- t.colormode(255) # 设置颜色模式为RGB(0-255)
- t.delay(0) # 取消绘制延迟,让绘制更快
- t.hideturtle() # 隐藏海龟图标
- def fun(x,y):
- t.penup() # 抬起画笔(移动时不画线)
- t.goto(x,y) # 移动到鼠标点击的坐标
- t.pendown() # 落下画笔(开始画线)
- a=r.randint(0,255) # 随机生成RGB颜色分量
- b=r.randint(0,255)
- c=r.randint(0,255)
- t.color(a,b,c) # 设置画笔颜色
- l=r.randint(5,15) # 随机生成五角星边长(5到15之间)
- t.begin_fill() # 开始填充颜色
- for i in range(5): # 画五角星(5条边,每次转144度)
- t.forward(l)
- t.left(144)
- t.end_fill() # 结束填充
- screen=t.Screen()
- screen.onclick(fun) # 绑定鼠标点击事件到fun函数
- t.done() # 进入事件循环,等待交互
复制代码
代码中用到了几个关键点:
- t.delay(0) 让绘制速度更快
- screen.onclick(fun) 实现了鼠标事件绑定
- 五角星的绘制是通过每次左转144度(180-36)实现的
如果你想扩展这个程序,可以尝试:
- 修改绘制的形状(比如改成圆形或正方形)
- 添加键盘事件切换颜色或形状
- 增加绘制大小的随机范围
这个程序很好地结合了事件处理和图形绘制,是学习turtle库交互功能的好例子!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|