科赫雪花繪製
阿新 • • 發佈:2018-11-11
採用函式遞迴的方法實現雪花的繪製
在函式遞迴的設計中,考慮
遞迴思想:函式 + 分支
遞迴鏈條: 線段的組合
遞迴基例: 初始線段
在科赫雪花繪製中,基例是當階數為0時,無需進行線段的突起操作,直接畫一條直線
採用if else 分支語句,if考慮基例情況, else 考慮在 n情況下, n-1情況的程式碼設計,這就是函式遞迴的設計思想。
程式碼實現:
import turtle def koch(size, n): if n == 0: turtle.fd(size) else: for angle in [0, 60, -120, 60]: turtle.left(angle) koch(size/3, n-1) def main(): turtle.setup(600, 600) turtle.penup() turtle.goto(-200, 100) turtle.pendown() turtle.pensize(2) level = 3 #3階科赫曲線 koch(400, level) turtle.right(120) koch(400, level) turtle.right(120) koch(400, level) turtle.right(120) turtle.hideturtle() #隱藏turtle畫筆 turtle.done() #讓執行結果停留 main()