有没有一种更优雅的方法来创造几个海龟,而不是把它们一一写出来?

2024-10-03 06:18:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个海龟屏幕,屏幕上有几个海龟,它们都画了一个不同的多边形。我想知道我怎样才能使创造海龟的代码更密集。现在我把这四个都单独写出来,但我相信有一种更传奇的方式来做到这一点。有人能帮我吗

equilat = turtle.Turtle()
equilat.color("blue")
equilat.shape("turtle")

square = turtle.Turtle()
square.color("pink")
square.shape("turtle")

hexa = turtle.Turtle()
hexa.color("purple")
hexa.shape("turtle")

octa = turtle.Turtle()
octa.color("grey")
octa.shape("turtle")'

Tags: 代码屏幕方式多边形传奇color海龟shape
1条回答
网友
1楼 · 发布于 2024-10-03 06:18:57

使用理解:

def build_turtle(color, shape):
    t = turtle.Turtle()
    t.color(color)
    t.shape(shape)
    return t


equilat, square, hexa, octa = [build_turtle(color, "turtle") for color in ("blue", "pink", ...)]

理想情况下,您将拥有一个类,build_turtle将是init方法:

class MyTurtle(Turtle):
    def __init__(self, color, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.color(color)
        self.shape("turtle")

equilat, square, hexa, octa = [MyTurtle(color) for color in ("blue", "pink", ...)]

相关问题 更多 >