第5章 条件和递归
练习 5-6:科赫曲线(Koch snowflake)
虽然边学边写有助加深理解,但是太费时间了,5章开始只粘贴代码,学完Think Python再完善思路……
"""
《Think Python》第5章 条件和递归
练习 5-6:科赫曲线
"""
#引入乌龟模块
import turtle
#调用乌龟画图、提高画弧速度
bob = turtle.Turtle()
bob.delya = 0.01
#科赫曲线
def koch(t, length):
if length<=30:
t.fd(length)
else:
koch(t, length/3)
t.lt(60)
koch(t, length/3)
t.rt(120)
koch(t, length/3)
t.lt(60)
koch(t, length/3)
#雪花
def snowflake(t, length):
koch(t, length)
t.rt(120)
koch(t, length)
t.rt(120)
koch(t, length)
t.rt(120)
snowflake(bob, 300)
泛化对象:
"""
《Think Python》第5章 条件和递归
练习 5-6:科赫曲线
"""
#引入乌龟模块
import turtle
#调用乌龟画图、提高画弧速度
bob = turtle.Turtle()
bob.delya = 0.01
#科赫曲线
def koch(t, length):
if length<=30:
t.fd(length)
else:
koch(t, length/3)
t.rt(60)
koch(t, length/3)
t.lt(120)
koch(t, length/3)
t.rt(60)
koch(t, length/3)
#雪花
def snowflake(t, length):
koch(t, length)
t.rt(120)
koch(t, length)
t.rt(120)
koch(t, length)
t.rt(120)
snowflake(bob, 900)