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

使用Python turtle库绘制多边形如何让图形适配屏幕尺寸

适配屏幕的正多边形绘制解决方案

核心逻辑:正多边形的展示范围由它的外接圆直径决定,只要外接圆尺寸小于屏幕可用范围,多边形就不会超出窗口。我们可以通过正多边形边长与外接圆半径的几何关系,动态计算适配当前屏幕的边长。

修改后的完整代码

from turtle import *
import math

def main():
    # 读取当前turtle窗口的尺寸
    screen = Screen()
    win_width = screen.window_width()
    win_height = screen.window_height()
    # 取宽高中更小的值的90%作为外接圆直径,预留边距避免贴边
    circum_diameter = min(win_width, win_height) * 0.9
    circum_radius = circum_diameter / 2

    sides = int(input('Enter the number of sides of a polygon: '))
    angle = 360 / sides
    # 正多边形边长计算公式:边长 = 2 * 外接圆半径 * sin(π/边数)
    size = 2 * circum_radius * math.sin(math.pi / sides)

    for _ in range(sides):
        forward(size)
        left(angle)
    
    hideturtle()
    done()   

main()

核心改动说明

  • 导入math库用于三角函数计算,实现边长的动态换算
  • 新增屏幕尺寸读取逻辑,自动适配当前窗口大小,无需手动写死尺寸参数
  • 移除了原代码中冗余的i += 1逻辑(for循环本身会自动完成迭代,手动赋值不生效也无意义)
  • 预留10%的安全边距,避免图形和窗口边缘完全贴合,展示效果更友好

修改后无论输入3边的三角形还是100边的近似圆形,都可以完整展示在窗口内,无需手动调整边长系数。


内容的提问来源于stack exchange,提问作者Y.D

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:45:03