我知道这是一个非常愚蠢的问题,但我还没有找到任何答案。 我写了一个定义很长的函数。
我必须养 turtle :p = turtle.Turtle()
和 q = p.clone()
。
def scoregraph():
start = pos()
color("silver")
pd()
rt(90)
fd(20)
lt(90)
fd(200)
rt(90)
fd(20)
rt(90)
fd(200)
rt(90)
fd(60)
rt(90)
fd(200)
lt(90)
fd(20)
lt(90)
fd(200)
rt(90)
fd(20)
color("black")
fd(6)
rt(90)
fd(200)
rt(90)
fd(6)
rt(90)
fd(200)
lt(90)
fd(60)
lt(90)
fd(200)
rt(90)
fd(60)
rt(90)
fd(200)
rt(90)
fd(60)
bk(66)
rt(90)
fd(200)
lt(90)
fd(126)
pu()
goto(start)
rt(90)
pd()
我尝试对两只 turtle (p.scoregraph
和 q.scoregraph
)使用该函数,但它不起作用。
这可能吗,还是我必须定义两个单独的函数?
最佳答案
将 Turtle
对象传递给您的 scoregraph()
函数:
def scoregraph(t):
start = t.pos()
t.color("silver")
t.pd()
t.rt(90)
t.fd(20)
# etc
然后像这样调用:
p = turtle.Turtle()
q = p.clone()
scoregraph(p)
scoregraph(q)
或者,如果您想要更面向对象的风格,从 Turtle
派生您自己的类并提供一个 scoregraph()
方法。使用 self
调用 turtle 方法:
class MyTurtle(turtle.Turtle):
def scoregraph(self):
self.start = self.pos()
self.color("silver")
self.pd()
self.rt(90)
self.fd(20)
# etc
p = MyTurtle()
q = p.clone()
p.scoregraph()
q.scoregraph()
关于python - 适用于多只 turtle 的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41906273/