追追比

导航

叠加等边三角形

import turtle
def drawTriangle(num,len,flag):#flag用来调整画三角形的方向
    flag*=-1
    len/=2
    if(num==1):
        if(flag==1):
            turtle.left(60)
            turtle.fd(len)
            turtle.right(120)
            turtle.fd(len)
            turtle.right(120)
            turtle.fd(len)
            turtle.left(120)
        else:
            turtle.right(60)
            turtle.fd(len)
            turtle.left(120)
            turtle.fd(len)
            turtle.left(120)
            turtle.fd(len)
            turtle.right(120)
    else:
        if(flag==1):
            turtle.left(60)
            turtle.fd(len/2)
            num=num-1
            turtle.right(60)
            drawTriangle(num,len,flag)
            turtle.fd(len/2)
            turtle.right(120)
            turtle.fd(len)
            turtle.right(120)
            turtle.fd(len)
            turtle.left(120)#注意递归过程中画笔返回的角度
        else:
            turtle.right(60)
            turtle.fd(len/2)
            num=num-1
            turtle.left(60)
            drawTriangle(num,len,flag)
            turtle.fd(len/2)
            turtle.left(120)
            turtle.fd(len)
            turtle.left(120)
            turtle.fd(len)
            turtle.right(120)#注意递归过程中画笔返回的角度
        

def main():
    turtle.setup(600,600, 200, 200)
    turtle.pendown()
    turtle.speed(2)
    turtle.pensize(5)
    drawTriangle(5,512,-1)
    turtle.hideturtle()#隐藏画笔图标
main()
turtle.done()

 

posted on 2020-12-14 18:58  追追比  阅读(108)  评论(0)    收藏  举报