gpt4 book ai didi

python - 适用于多只 turtle 的功能

转载 作者:太空宇宙 更新时间:2023-11-04 10:04:08 26 4
gpt4 key购买 nike

我知道这是一个非常愚蠢的问题,但我还没有找到任何答案。我写了一个定义很长的函数。

我必须养 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.scoregraphq.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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com