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

如何在Python Turtle中调整已绘制图形的大小?

Python Turtle图形无需重绘的缩小方案

可以实现不用重新绘制就缩小已完成的图形,下面给你两种实用方法:

方法1:直接调用turtle.scale()缩放图形

这是最简单的方式,在所有绘制代码完成后、turtle.mainloop()之前,添加缩放指令即可。scale()的参数是x和y方向的缩放比例,比如0.5就是缩小到原尺寸的一半。

修改后的代码示例:

import turtle
import math

count = 0
while count < 4:
    turtle.right(90)
    turtle.forward(200)
    count = count + 1

turtle.left(135)
turtle.forward(200/math.sqrt(2))
turtle.left(90)
turtle.forward(200/math.sqrt(2))
turtle.up()
turtle.left(135)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.down()

count = 0
while count < 4:
    turtle.right(90)
    turtle.forward(60)
    count = count + 1

turtle.up()
turtle.backward(30)
turtle.right(90)
turtle.down()
turtle.forward(60)

turtle.up()
turtle.backward(30)
turtle.right(90)
turtle.backward(30)
turtle.down()
turtle.forward(60)

# 缩放:x、y方向都缩小到原尺寸的50%,可根据需求调整比例
turtle.scale(0.5, 0.5)

turtle.mainloop()

方法2:通过重置坐标系间接缩放

如果你需要更精细的控制,可以重新设置画布的坐标系范围,把原来的坐标区间按比例缩小。比如先获取当前图形的边界,再用turtle.setworldcoordinates()重新定义更小的坐标范围,也能实现整体缩放效果。不过这种方法需要额外计算坐标,不如第一种便捷。

注意:scale()方法会对整个绘图上下文生效,如果你在缩放后还要继续绘制图形,新绘制的内容也会按相同比例缩放。但你的代码里绘制已经全部完成,所以直接用第一种方法就足够了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 07:52:29