如何让python使用这种随机生成的颜色?

时间:2015-11-20 18:29:35

标签: python random generator turtle-graphics

截至目前,我有这段代码;

AtomicBoolean

问题是..我可以生成颜色,它会打印绘制所有形状的颜色,但我无法弄清楚如何在绘制之前将颜色实际应用到乌龟。我尝试过这样的事情;

import turtle
import random

def getColor():
    selection = random.randint(1,3)
    if selection == 1:
        return "green"
    elif selection == 2:
        return "red"
    else:
        return "blue"

def drawPerson(my_turtle, x, y):
    my_turtle.penup()
    my_turtle.goto(x,y)
    my_turtle.pendown()
    my_turtle.pensize(3)

    xul.color = getColor()
    print(xul.color)
        if xul.color == "green":
            xul.color("green")
        elif xul.color == "red":
            xul.color("red")
        else:
            xul.color("blue")

    xul.forward(90)
    xul.left(90)
    xul.forward(90)
    xul.left(90)
    xul.forward(90)
    xul.left(90)
    xul.forward(90)
    xul.left(90)


xul = turtle.Turtle()
drawPerson(xul,150,150)
drawPerson(xul,-150,150)
drawPerson(xul,-150,-150)
drawPerson(xul,150,-150)
drawPerson(xul,0,0)

还有很多其他的东西,但我似乎无法弄清楚..如果有人能给我一行我错过的代码,我会非常感激它!谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你可以改变你的第二个功能:

def drawPerson(xul, x, y):
    xul.penup()
    xul.goto(x,y)
    xul.pendown()
    xul.pensize(3)

    xul.color(getColor())

    xul.forward(90)
    xul.left(90)

等。 - 假设您想要在函数内部绘制步骤,这不仅仅是缩进错误。

你的第一个功能很好,但有一个更简单的方法:

def getColor():
    return random.choice(['red', 'green', 'blue'])