使用Turtle模块时出现IndexError: tuple index out of range错误求助
解决Turtle模块中的IndexError: tuple index out of range错误
错误原因
你的col元组仅包含7个元素(索引范围0到6),但代码中直接使用col[186]访问索引186的元素,完全超出了元组的索引边界,因此触发IndexError。此外,col里的"light"不是Turtle可识别的有效颜色值,会导致颜色渲染异常。
修正后的代码
import turtle t = turtle.Turtle() s = turtle.Screen() s.bgcolor("black") t.speed(0) # 替换无效颜色"light"为Turtle可识别的"lightgreen" col = ("yellow", "red", "pink", "cyan", "lightgreen", "green", "blue") for i in range(150): # 通过取模运算让索引在颜色列表范围内循环切换 t.pencolor(col[i % len(col)]) t.circle(198 - i/2, 99) t.lt(90) t.circle(199 - i/3, 98) t.lt(60) s.exitonclick()
关键修正点
- 将
col[186]改为col[i % len(col)]:利用取模运算让索引始终在0到6之间循环,彻底避免索引越界。 - 替换无效颜色
"light":使用Turtle支持的"lightgreen",保证颜色正常渲染。 - 拆分逗号表达式:把
s.bgcolor("black"), t.speed(0)拆分为两行代码,提升可读性,避免语法歧义。
内容的提问来源于stack exchange,提问作者Sheikh Rasel Ahmed
相关产品推荐
相关产品推荐

