用迭代函式繪製分形樹
阿新 • • 發佈:2018-12-20
""" 作者:範文武 功能:利用遞迴函式繪製分形樹 版本:1.0 日期:11/08/2018 """ # 引入圖形繪製庫 import turtle # 函式呼叫 def draw_fractal_tree(branch_length): """ 繪製分形樹 """ if branch_length >5 : # 繪製右側樹 turtle.forward(branch_length) print('向前',branch_length) turtle.right(20) print('右轉20°') draw_fractal_tree(branch_length-15) # 繪製左側樹 turtle.left(40) print('左轉40°') draw_fractal_tree(branch_length-15) # 返回 turtle.right(20) print('右轉20°') turtle.backward(branch_length) print('倒退',branch_length) def main(): """ 主函式 """ turtle.color('brown') turtle.penup() turtle.backward(150) turtle.pendown() turtle.left(90) # 樹根向上 print('出發') # 呼叫迭代函式繪製第一顆分形樹 draw_fractal_tree(100) # 呼叫迭代函式繪製第二顆分形樹 turtle.penup() turtle.right(90) turtle.forward(200) turtle.pendown() # 樹根向上 turtle.left(90) draw_fractal_tree(80) turtle.exitonclick() if __name__ == '__main__': main()