我如何使这个python海龟代码更小,使它成为一个类?
我正在编写一段代码,递归地绘制一个非常简单的“树”。这是一组函数和一些“设置”行,但是,我想把它集成到一个更大的程序中,所以我想把它放在一个类下,然后调用它来绘制树 我的问题是,作为python新手,我该如何做?我读到了关于我如何使这个python海龟代码更小,使它成为一个类?,python,recursion,turtle-graphics,Python,Recursion,Turtle Graphics,我正在编写一段代码,递归地绘制一个非常简单的“树”。这是一组函数和一些“设置”行,但是,我想把它集成到一个更大的程序中,所以我想把它放在一个类下,然后调用它来绘制树 我的问题是,作为python新手,我该如何做?我读到了关于\uuuu init\uuuu和self.()的文章,但是我的代码似乎非常模糊,到处都是,而且不够紧凑,无法整齐地将其转换为类 我应该如何首先减少代码行数,使其完全适合函数 import turtle as t import random def arbre(branche,
\uuuu init\uuuu
和self.(
)的文章,但是我的代码似乎非常模糊,到处都是,而且不够紧凑,无法整齐地将其转换为类
我应该如何首先减少代码行数,使其完全适合函数
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()
无论代码的长度如何,您都可以编写类,但您可以这样减少代码:
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)
你似乎误解了什么是课堂。作为一个类,这些代码实际上都没有意义。此外,在函数或类中可以输入多少代码是没有限制的,这取决于类的用途:它有哪些对象和方法?哪些部分是参数化的?这个“主要”方法是课程的一部分吗?初始化会带来什么?调用程序执行哪些部分?