You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Python的square()绘图函数以支持指定起始位置参数?

改进Python海龟绘图square函数的具体操作

步骤1:修改square函数定义,添加参数

把原来无参数的函数改成带length(边长)、startx(起始x坐标)、starty(起始y坐标)的函数,替换掉固定的起始位置:

def square(length, startx, starty):
    mike.penup()  # 抬笔,避免移动到起始点时留下痕迹
    mike.goto(startx, starty)  # 使用传入的起始坐标
    mike.pendown()
    # 绘制正方形四条边,用循环简化重复代码
    for _ in range(4):
        mike.forward(length)
        mike.left(90)
    mike.penup()
    # 原代码末尾的forward(length)可根据需求保留,用于移动到下一个绘制位置

步骤2:调用函数时传入参数

要绘制4个不同的图形,直接给每个square()调用传入对应的边长和起始坐标即可,示例如下:

# 先确保已初始化海龟对象(你的代码里应该包含这部分)
import turtle
mike = turtle.Turtle()

# 调用改进后的square函数,绘制4个不同位置的正方形
square(50, -250, 250)    # 边长50,起始位置(-250, 250)
square(60, -150, 250)    # 边长60,起始位置(-150, 250)
square(70, -250, 150)    # 边长70,起始位置(-250, 150)
square(80, -150, 150)    # 边长80,起始位置(-150, 150)

# 保持窗口显示,直到手动关闭
turtle.done()

关键修改说明

  • 新增的三个参数让你能完全控制每个正方形的大小和绘制起点,不再受固定位置限制
  • 加入mike.penup()在移动到起始点前,是海龟绘图的标准操作,避免不必要的线条
  • 用for循环替代重复四次的forward+left,让代码更简洁易维护(也可以保留原来的四次写法,效果一致)

内容的提问来源于stack exchange,提问作者Louis Sypeck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 12:32:14