案例分析:
1、樹幹初始值爲50
2、每次繪製完樹枝後,畫筆右轉20度
3、繪製下一段樹枝時,長度減少15,。重複2——3操作直到終止
4、終止條件:樹幹長度小於5,此時爲頂端樹枝
5、達到終止條件後,畫筆左轉40度,以當前長度減少15,繪製樹枝
6、右轉20度,回到原方向,退回上一個節點,直到操作完
示例代碼
## 繪製分型樹,末梢的樹枝的顏色不同
import turtle
def draw_brach(brach_length):
if brach_length > 5:
if brach_length < 40:
turtle.color('green')
else:
turtle.color('red')
# 繪製右側的樹枝
turtle.forward(brach_length)
print('向前',brach_length)
turtle.right(25)
print('右轉20')
draw_brach(brach_length-15)
# 繪製左側的樹枝
turtle.left(50)
print('左轉40')
draw_brach(brach_length-15)
if brach_length < 40:
turtle.color('green')
else:
turtle.color('red')
# 返回之前的樹枝上
turtle.right(25)
print('右轉20')
turtle.backward(brach_length)
print('返回',brach_length)
def main():
turtle.left(90)
turtle.penup()
turtle.backward(150)
turtle.pendown()
turtle.color('red')
draw_brach(100)
turtle.exitonclick()
if __name__ == '__main__':
main()