今天学习递归,用海龟绘图画出一片雪花。
递归这个概念刚接触的时候有点绕,简单理解就是:自己调用自己,不断拆分重复的图形。
完整代码:
import turtle
def snow(t,length):
if length<8:
t.forward(length)
return
t.forward(length)
for i in range(6):
t.left(60)
snow(t,length/3)
t.backward(length)
t = turtle.Turtle()
t.speed(0)
t.pencolor('#88ddff')
t.left(90)
snow(t,120)
turtle.done()
✨知识点讲解
1. def snow(t,length):自定义函数,接收画笔对象和线段长度两个参数。
2. if length<8: 递归终止条件,长度小于8就停止拆分,直接向前画线。
3. snow(t,length/3):函数内部调用自己,也就是递归,把线段缩短三分之一继续绘制小分支。
4. for i in range(6):循环6次,每一次左转60度,画出雪花六个方向的分支。
5. t.backward(length):画完分支退回到起点位置。
6. #88ddff:浅蓝色十六进制颜色码,模拟雪花清冷的色调。
💡自学感悟
一片好看的雪花,不是一笔画出来的,是不断重复、不断拆分小细节才成型。
联想到我们做事情也是同理,很多结果不是一下子就出现。
一遍一遍重复练习,慢慢沉淀,一点点生长,属于你的模样才会慢慢显现。
#Python零基础自学 #海龟绘图 #递归 #普通人学编程