python小象学院:五角星绘制------递归

"""
    作者:
    功能:draw five_pointed star
    版本:3.0
    日期:2019/3/16
    新增功能:使用迭代操作绘制重复不同大小的图形
"""
import turtle

# def draw_pentagram(size):
#     """
#     draw five_pointed star function
#     """
#     count = 1
#     while count <= 5:
#         turtle.forward(size)
#         turtle.right(144)
#         count += 1

while(size <= 100)
    def draw_recursive_pentagram(size):
        """
          迭代绘制五角星
        """
        count = 1
        while count <= 5:
            turtle.forward(size)
            turtle.right(144)
            count += 1
        #五角星绘完成,更新参数
        size += 50
        draw_recursive_pentagram(size)

def main():

    turtle.penup()
    turtle.backward(200)
    turtle.pendown()
    turtle.pensize(2)
    turtle.pencolor('red')

    size = 50

    draw_recursive_pentagram(200)
    turtle.exitonclick()

if __name__== '__main__':
    main()

递归:

  1. 函数定义中调用函数自身的方式叫递归
  2. 能非常简洁地解决重要问题
  3. 每次函数调用时,函数参数会临时存储,相互没有影响
  4. 达到终止条件时,各函层结束运算,返回计算结果
  5. 要注意终止条件的构建,否则递归无法正常返回结果

猜你喜欢

转载自blog.csdn.net/qq_26572229/article/details/88598549
今日推荐