一、科赫曲線
運用遞歸,一階一階分隔,如2階的每條小線是1階(所以代碼為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(800,400)
turtle.penup()
turtle.goto(-300,-50)
turtle.pendown()
turtle.pensize(2)
koch(600,3) #3階,設置階數
turtle.hideturtle()
main()
二、科赫雪花
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(800,800)
turtle.penup()
turtle.goto(-300,-50)
turtle.pendown()
turtle.pensize(2)
level = 3
koch(400,level)
turtle.right(120) #向右旋轉120度
koch(400,level)
turtle.right(120)
koch(400,level)
turtle.hideturtle()
main()
三、打包
ico在線制作或免費下載 https://www.easyicon.net/
cmd命令:進入文件所在目錄
pyinstaller -i bauble.ico -F koch.py #bauble.ico 下載的圖標文件