如何使这个 python 海龟代码更小,使其变成 class?
How do I make this python turtle code smaller so it becomes a class?
我正在写一段代码,递归地绘制一个非常简单的"tree"。它是一组函数以及一些 "set up" 行,但是,我想将它集成到一个更大的程序中,所以我想把它放在 class 下,然后调用它来绘制树.
我的问题是,作为 python 的新手,我该怎么做?我阅读了 __init__
和 self.()
,但我的代码似乎非常模糊,到处都是,不够紧凑,无法将其巧妙地转换为 class。
我应该如何首先减少代码行数以使其适合函数?
import turtle as t
import random
def arbre(branche,t):
if branche > 5:
t.forward(branche)
t.right(20)
arbre(branche-15,t)
t.left(40)
arbre(branche-15,t)
t.right(20)
t.backward(branche)
def main():
t.up()
t.down()
t.color("green")
arbre(90,t)
for k in range(0,17):
t.left(10)
main()
t.right(80)
t.backward(50)
t.penup()
t.forward(25)
t.pendown()
t.right(60)
for k in range(0,11):
t.left(10)
main()
您可以编写 class 不管代码的长度如何,但是您可以像这样减少代码:
import turtle as t
t.tracer(2,1) # pour accelerer le dessin
def arbre(branche,t):
if branche > 5:
t.forward(branche)
t.right(20)
arbre(branche-15,t)
t.left(40)
arbre(branche-15,t)
t.right(20)
t.backward(branche)
def main( n ):
for k in range( n ):
t.left(10)
arbre(90,t)
t.color("green")
main(17)
t.right(80)
t.backward(50)
t.penup()
t.forward(25)
t.pendown()
t.right(60)
main(10)
我正在写一段代码,递归地绘制一个非常简单的"tree"。它是一组函数以及一些 "set up" 行,但是,我想将它集成到一个更大的程序中,所以我想把它放在 class 下,然后调用它来绘制树.
我的问题是,作为 python 的新手,我该怎么做?我阅读了 __init__
和 self.()
,但我的代码似乎非常模糊,到处都是,不够紧凑,无法将其巧妙地转换为 class。
我应该如何首先减少代码行数以使其适合函数?
import turtle as t
import random
def arbre(branche,t):
if branche > 5:
t.forward(branche)
t.right(20)
arbre(branche-15,t)
t.left(40)
arbre(branche-15,t)
t.right(20)
t.backward(branche)
def main():
t.up()
t.down()
t.color("green")
arbre(90,t)
for k in range(0,17):
t.left(10)
main()
t.right(80)
t.backward(50)
t.penup()
t.forward(25)
t.pendown()
t.right(60)
for k in range(0,11):
t.left(10)
main()
您可以编写 class 不管代码的长度如何,但是您可以像这样减少代码:
import turtle as t
t.tracer(2,1) # pour accelerer le dessin
def arbre(branche,t):
if branche > 5:
t.forward(branche)
t.right(20)
arbre(branche-15,t)
t.left(40)
arbre(branche-15,t)
t.right(20)
t.backward(branche)
def main( n ):
for k in range( n ):
t.left(10)
arbre(90,t)
t.color("green")
main(17)
t.right(80)
t.backward(50)
t.penup()
t.forward(25)
t.pendown()
t.right(60)
main(10)