叠加等边三角形绘制

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()

原文地址:https://www.cnblogs.com/155722-lq/p/12496812.html