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

如何修复Python Turtle项目第31行的“Bad Colour Sequence”错误?

修复Python Turtle的"Bad Colour Sequence"错误方案

核心问题原因

你的报错本质是两个常见疏忽:

  1. Turtle默认使用0-1的小数RGB模式,但你输入的是0-255的整数,没切换颜色模式
  2. 你转换输入为整数时没把结果存回变量,导致RGB值还是字符串类型或无效格式

具体修复步骤

1. 先开启255范围的RGB模式

在程序开头、调用任何颜色相关方法前,必须执行这行代码:

import turtle
turtle.colormode(255)  # 关键:切换到0-255的RGB颜色范围

2. 正确处理输入的RGB值

你之前转换整数但没赋值,等于白转。要把输入转成整数后存到变量里,再组成RGB元组:

def rgbselect():
    # 获取输入并强制转换为整数,必须赋值给变量
    r = int(input("输入R值(0-255):"))
    g = int(input("输入G值(0-255):"))
    b = int(input("输入B值(0-255):"))
    
    # 把三个整数值组成元组,这是Turtle能识别的RGB格式
    rgb_tuple = (r, g, b)
    
    # 输出RGB和十六进制值
    hex_color = f"#{r:02x}{g:02x}{b:02x}"
    print(f"当前RGB值:{rgb_tuple},对应十六进制:{hex_color}")
    
    # 设置颜色并绘制圆形(用fillcolor单独设置填充色更清晰)
    turtle.fillcolor(rgb_tuple)
    turtle.begin_fill()
    turtle.circle(60)
    turtle.end_fill()

3. 避坑提醒

  • 别直接用turtle.color(rgb)同时设置画笔和填充色,如果你只需要填充,用turtle.fillcolor()更不容易出错
  • 确保输入的数值在0-255之间,超出范围也会触发颜色错误,可以加个简单判断:
    if not (0 <= r <=255 and 0 <= g <=255 and 0 <= b <=255):
        print("RGB值必须在0-255之间!")
        return
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 06:04:58