使用Python Turtle实现随机行走时遇AttributeError: 'Turtle'无colormode属性
Python Turtle随机行走:解决AttributeError及代码问题
错误原因分析
colormode调用对象错误:colormode()是Screen类的方法,不能通过Turtle实例调用,必须先创建Screen对象,再调用它的colormode()来设置255色值范围。random_color函数返回值错误:函数最后返回的是random_color(函数本身),而不是生成的颜色元组random_colour,这会导致turtle.color()无法识别颜色。- Screen对象创建时机:建议提前创建
Screen对象,确保颜色模式设置在绘图前生效。
修正后的完整代码
from turtle import Turtle, Screen import random # 先创建Screen对象并设置颜色模式 screen = Screen() screen.colormode(255) turtle = Turtle() def random_color(): r = random.randint(0, 255) g = random.randint(0, 255) b = random.randint(0, 255) random_colour = (r, g, b) return random_colour # 返回颜色元组而非函数名 direction = [0, 90, 180, 270] turtle.speed(0) for _ in range(200): turtle.color(random_color()) turtle.forward(30) turtle.setheading(random.choice(direction)) screen.exitonclick()
内容的提问来源于stack exchange,提问作者Aaradhy
相关产品推荐
相关产品推荐

