如何将重复的Python turtle绘图代码改写为更简短的自定义函数
简化后的实现代码
你这段代码的核心逻辑是依次用红、蓝、绿三种颜色各画一个边长为100的等边三角形,前两个三角形绘制完成后需要额外右转240度调整朝向,可通过嵌套循环简化如下,逻辑和原代码完全一致:
import turtle t = turtle.Turtle() # 按绘制顺序定义颜色列表 colors = ["red", "blue", "green"] for idx, color in enumerate(colors): t.pencolor(color) # 内层循环复用画等边三角形的重复逻辑 for _ in range(3): t.forward(100) t.right(120) # 前两个三角形绘制完成后右转240度,等价于两次right(120) if idx < 2: t.right(240) turtle.done()
逻辑说明
- 外层循环遍历颜色列表,同时用
enumerate获取当前循环的索引,用来判断是否需要执行绘制后的转向操作 - 内层循环代替原代码中重复3次的前进+转向逻辑,完成等边三角形绘制
- 索引判断逻辑完美适配你原代码的转向规则:仅红色、蓝色三角形绘制完成后执行额外转向,绿色三角形绘制完成后无额外操作
内容的提问来源于stack exchange,提问作者I need help so here is my code
相关产品推荐
相关产品推荐

