我正在创建一个包含多个海龟的海龟屏幕,它们都绘制了不同的多边形形状。我想知道如何使创建海龟的代码更密集。现在,我将所有四个单独写出,但是我敢肯定,还有更多的传奇方式可以做到这一点。有人可以帮我吗?
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")'
答案 0 :(得分:1)
使用理解力:
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", ...)]