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

Python Turtle绘制随机颜色正方形问题:颜色未随机生成

问题解决:Turtle绘制随机填充色正方形

你的问题出在两个核心点:

  • 颜色生成代码写在循环外,仅执行一次,导致所有正方形共用同一组颜色值
  • begin_fill() 和 end_fill() 的位置错误,当前每绘制一条边就触发一次填充,逻辑完全混乱

修正方案:

  1. 将随机颜色生成代码移到外层for循环内部,确保每次绘制新正方形前都会生成一组全新的RGB颜色值
  2. 调整填充逻辑:begin_fill() 放在绘制正方形的嵌套循环之前,end_fill() 放在嵌套循环之后,保证整个正方形被完整填充

修正后的代码:

import random
import turtle

window = turtle.Screen()
bob = turtle.Turtle()

window.setup(1000, 1000)
window.colormode(255)

for i in range(10):
    # 每个正方形生成前重新生成随机RGB颜色
    red = random.randint(0, 255)
    green = random.randint(0, 255)
    blue = random.randint(0, 255)
    
    box_size = random.randint(50, 100)
    x = random.randint(-250, 250)
    y = random.randint(-250, 250)
    
    # 先移动到目标位置再绘制
    bob.penup()
    bob.goto(x, y)
    bob.pendown()
    
    bob.fillcolor(red, green, blue)
    bob.begin_fill()  # 启动填充
    for j in range(4):
        bob.forward(box_size)
        bob.left(90)
    bob.end_fill()  # 完成当前正方形的填充

额外优化说明:

  • 把goto()操作移到绘制前,逻辑更顺畅:先定位,再开始绘制图形
  • 移除了冗余的from turtle import Turtle导入,已通过turtle.Turtle()创建实例,无需重复导入

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 14:50:31