厉害了!海龟画图----递归的可视化
【摘要】
递归的可视化
递归算法是非常强大的,接下来我们利用海龟作图来展现其视觉影像。
这里我们就不详细讲解海龟画图了,感兴趣的同学可以看看我之前发过的文章:海龟画图全解–值得你一看! 在这里我详细的我为大家...
递归的可视化
递归算法是非常强大的,接下来我们利用海龟作图来展现其视觉影像。
这里我们就不详细讲解海龟画图了,感兴趣的同学可以看看我之前发过的文章:海龟画图全解–值得你一看! 在这里我详细的我为大家介绍了海龟画图。
在这里我们将会用到我们的老朋友海龟画图来展现其强大
这是最简单的画一条直线:
forward():前进
backward():后退
left():左转多少度
right():右转多少度
import turtle
t=turtle.Turtle()
#作图开始
t.forward(100)#指挥海龟作图
#作图结束
turtle.done()
- 1
- 2
- 3
- 4
- 5
- 6
画一个正方形:
import turtle
t=turtle.Turtle()
for i in range(4):
t.forward(100)
t.right(90)
turtle.done()
- 1
- 2
- 3
- 4
- 5
- 6
画一个五角星:
import turtle
t=turtle.Turtle()
t.pencolor()
t.pensize(3)
for i in range(5):
t.forward(100)
t.right(144)
t.hideturtle()
turtle.done()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
递归方法画边长逐渐减少的环形:
import turtle
t=turtle.Turtle()
def drawSpiral(lineLen):
if lineLen>0:
t.forward(lineLen)
t.left(90)
drawSpiral(lineLen-5)
drawSpiral(lineLen=100)
turtle.done()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
最后来画我们的二叉树:
import turtle
def tree(branch_len):
if branch_len>5:
t.forward(branch_len)
t.right(20)
tree(branch_len-15)
t.left(40)
tree(branch_len-15)
t.right(20)
t.backward(branch_len)
t=turtle.Turtle()
t.left(90)
t.penup()
t.backward(100)
t.pendown()
t.pencolor('green')
t.pensize(2)
tree(75)
t.hideturtle()
turtle.done()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
文章来源: xuyipeng.blog.csdn.net,作者:是Dream呀,版权归原作者所有,如需转载,请联系作者。
原文链接:xuyipeng.blog.csdn.net/article/details/119102600
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)