《Think Python》练习 5-6:科赫曲线(Koch snowflake)

这篇博客聚焦于《Think Python》第5章的一个练习——科赫曲线(Koch snowflake)。通过Python编程,介绍如何运用条件和递归来构造这一几何形状。文章暂时仅提供代码,鼓励读者在学习完整本书后再回溯理解思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第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)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值