1. 程式人生 > >科赫雪花繪製

科赫雪花繪製

採用函式遞迴的方法實現雪花的繪製

在函式遞迴的設計中,考慮

遞迴思想:函式 + 分支

遞迴鏈條: 線段的組合

遞迴基例: 初始線段

在科赫雪花繪製中,基例是當階數為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()