Python海龟绘图可视化
基于Skulpt的在线Python海龟绘图编辑器
Python代码编辑器
运行
清空
刷新缓存
import turtle import time # 设置屏幕 - 核心修改:将宽高都调整为530 screen = turtle.Screen() screen.setup(width=530, height=530) # 调整画布尺寸为530x530 screen.bgcolor("lightblue") screen.bgpic("bg.png") screen.tracer(0) # 关闭自动刷新,手动控制刷新以实现动画效果 # 绘制道路 - 适配新画布尺寸调整起始位置和长度 road = turtle.Turtle() road.penup() road.goto(-265, -140) # 道路起始位置(适配530宽度,居中绘制) road.pendown() road.pensize(20) road.color("gray") road.forward(530) # 道路长度改为530,适配画布宽度 road.hideturtle() # 隐藏画笔,让画面更整洁 # 绘制道路中间的虚线 - 适配新道路长度 line = turtle.Turtle() line.penup() line.goto(-265, -140) # 虚线起始位置(与道路对齐) line.pendown() line.pensize(3) line.color("white") # 调整虚线绘制次数,适配530宽度的道路 for _ in range(13): # 从20次改为13次,避免虚线超出画布 line.forward(20) line.penup() line.forward(20) line.pendown() line.hideturtle() # 绘制树木 def draw_tree(x, y): tree = turtle.Turtle() tree.penup() tree.goto(x, y) # 树的位置 tree.pendown() tree.color("brown") tree.begin_fill() # 绘制树干(长方形) for _ in range(2): tree.forward(10) tree.left(90) tree.forward(20) tree.left(90) tree.end_fill() tree.penup() tree.goto(x + 5, y + 20) # 树叶位置(在树干顶部) tree.pendown() tree.color("green") tree.begin_fill() # 绘制树叶(圆形) tree.circle(15) tree.end_fill() tree.hideturtle() # 在屏幕两侧绘制树木 - 适配新画布尺寸调整树木位置 draw_tree(-200, -100) draw_tree(-100, -100) draw_tree(0, -100) draw_tree(100, -100) draw_tree(200, -100) # 创建小汽车的主体(长方形,红色) car = turtle.Turtle() car.shape("square") car.shapesize(stretch_wid=1, stretch_len=5) # 调整为长方形(宽1倍,长5倍) car.color("red") car.penup() car.goto(-200, -100) # 调整初始位置,适配530画布 car.hideturtle() # 先隐藏,避免绘制过程闪烁 # 创建车轮(圆形,黑色) wheel1 = turtle.Turtle() wheel1.shape("circle") wheel1.color("black") wheel1.penup() wheel1.goto(-230, -120) # 左轮位置(适配车体新位置) wheel1.hideturtle() wheel2 = turtle.Turtle() wheel2.shape("circle") wheel2.color("black") wheel2.penup() wheel2.goto(-170, -120) # 右轮位置(适配车体新位置) wheel2.hideturtle() # 显示车辆和车轮 car.showturtle() wheel1.showturtle() wheel2.showturtle() # 移动小汽车的函数 def move_car(): car.forward(10) # 小汽车向前移动 wheel1.forward(10) # 左轮同步移动 wheel2.forward(10) # 右轮同步移动 # 主循环,让小汽车持续移动 try: while True: screen.update() # 手动刷新屏幕实现动画 move_car() # 调用移动函数 time.sleep(0.05) # 控制移动速度(数值越小速度越快) # 如果小汽车超出屏幕右侧,重置到左侧(适配530画布) if car.xcor() > 265: # 530宽度的画布,右侧边界为265 car.goto(-200, -100) wheel1.goto(-230, -120) wheel2.goto(-170, -120) except turtle.Terminator: # 捕获关闭窗口时的异常,避免程序报错 pass turtle.done()
绘图显示区域
下载绘图
坐标: (0, 0)
运行输出
输入:
提交
使用说明
点击"运行"按钮执行Python海龟绘图代码
点击"清空"按钮清除绘图结果和输出信息
点击"刷新缓存"按钮清除浏览器缓存并重新加载资源
支持turtle模块的所有绘图功能
可在代码中使用turtle库绘制各种图形
绘图结果会在上方画布中实时显示
程序输出信息会显示在下方输出区域
拖动中间分隔条可调整代码编辑器和绘图区域的宽度