使用Turtle的Python随机颜色生成

时间:2015-04-10 02:53:31

标签: python random colors turtle-graphics

我需要使用rgb值生成一个随机颜色来填充这些矩形以进行python学校作业,即使我非常确定格式化,我也会收到错误的颜色序列错误正如Python documentation所暗示的那样。

r = random.randrange(0, 257, 10)
g = random.randrange(0, 257, 10)
b = random.randrange(0, 257, 10)


def drawRectangle(t, w, h):
    t.setx(random.randrange(-300, 300))
    t.sety(random.randrange(-250, 250))
    t.color(r, g, b)
    t.begin_fill()
    for i in range(2):
        t.forward(w)
        t.right(90)
        t.forward(h)
        t.right(90)
    t.end_fill()
    t.penup()

我很困惑为什么t.color(r,g,b)没有产生随机颜色?

2 个答案:

答案 0 :(得分:4)

需要将

turtle.colormode设置为255以使用Hex代码或R G B提供颜色字符串。

添加

screen.colormode(255)

不再返回错误。

答案 1 :(得分:1)

您的变量r g和b不是全局变量。您必须在函数顶部添加全局声明或将它们添加为参数。

def my_function(r, g, b):
    # some stuff

或者...

def myfunction():
    global r, g, b
    # some stuff