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

如何在turtle库中不使用write()绘制填充字母(如O)

绘制填充黄色字母O的正确方法

你的代码问题在于用了画粗圆环再填白内部的绕路方式,而且缺少end_fill()导致填充不生效。以下是两种符合需求的实现:

1. 实心黄色字母O(整个O为黄色)

直接用填充圆的方式,注意调整起始位置让圆心符合预期:

import turtle as t
def O():
    t.speed(1)
    t.penup()
    # circle()的起始点是圆的底部,所以设置y为-100,圆心就会在(-690, 0)
    t.setpos(-690, -100)
    t.pendown()
    t.color("yellow")
    t.begin_fill()
    t.circle(100)
    t.end_fill()

2. 空心黄色字母O(仅轮廓为黄色)

如果只需要黄色轮廓的O,直接用粗线条画圆即可,无需填充内部:

import turtle as t
def O():
    t.speed(1)
    t.penup()
    t.setpos(-690, 0)
    t.pendown()
    t.pensize(40)
    t.color("yellow")
    t.circle(100)

关键问题说明

  • 你之前的代码里调用了begin_fill()但没写t.end_fill(),导致填充不会生效
  • 用“粗圆环+内部填白”的方式做空心O容易出现位置偏差,直接调整画笔粗细画圆更精准
  • t.circle(r)的绘制起点是圆的底部,所以如果需要圆心在某个坐标,要把起始点的y坐标减去半径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 15:32:23