厉害了!海龟画图----递归的可视化

举报
是Dream呀 发表于 2022/01/11 00:09:43 2022/01/11
【摘要】 递归的可视化 递归算法是非常强大的,接下来我们利用海龟作图来展现其视觉影像。 这里我们就不详细讲解海龟画图了,感兴趣的同学可以看看我之前发过的文章:海龟画图全解–值得你一看! 在这里我详细的我为大家...

递归的可视化

在这里插入图片描述
递归算法是非常强大的,接下来我们利用海龟作图来展现其视觉影像。

这里我们就不详细讲解海龟画图了,感兴趣的同学可以看看我之前发过的文章:海龟画图全解–值得你一看! 在这里我详细的我为大家介绍了海龟画图。在这里插入图片描述

在这里我们将会用到我们的老朋友海龟画图来展现其强大
这是最简单的画一条直线:
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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。