敲黑板!!!!!!
1、turtle库的使用(具体参照turtlr库的使用)
import turtle #声明
turtle.pensize(branch_length/10) #设置画笔大小
turtle.forward(branch_length) #画笔向前移动(默认初始向画板右侧)
turtle.right(20) #向右转动角度
turtle.color('green') #设置画笔颜色
turtle.penup() #画笔抬起
turtle.backward(150) #画笔向后
turtle.pendown() #画笔落下
turtle.exitonclick() #点击退出画板
2、函数嵌套、迭代
def draw_branch(branch_length): #输入参数branch_length、branch_length为根部第一节的长度
"""
绘制分形树
"""
if branch_length > 5:
# 绘制右侧树枝
turtle.pensize(branch_length/10) #根据枝干长度来设置画笔大小,从而控制树干粗细,
turtle.forward(branch_length) #沿着turtle现在的方向画出一条树枝
print('向前 ', branch_length)
turtle.right(20) #下一树枝右侧部分方向设置
print('右转 20')
draw_branch(branch_length - 15) #调用函数画出右侧方向的树枝,直到树枝长度小于等于20,才不画下一节的树支
# 绘制左侧树枝
turtle.left(40) #右侧满树,此时branch_length值小于或等于20,左转40度,准备画出左侧树
print('左转 40')
draw_branch(branch_length - 15) #两种情况 1、branch_length - 15 < 5 不满足条件->退出函数
# 2、否则画出左侧树枝
# 返回之前的树枝
if branch_length <= 15:
turtle.color('green')
else:
turtle.color('brown')
turtle.right(20)
print('右转 20')
turtle.backward(branch_length)
print('向后 ', branch_length)