python的学习笔记案例2--分形树绘制3.0

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lanxingbudui/article/details/87965530

上一次,使用函数使得代码简洁了很多,但是还是不够,这次想讲函数和循环放在一起,引入递归函数的概念:

绘制形状的函数,自己更新参数,然后再将更新后的参数加入到函数中,自己调用自己的函数。

"""
    作者:lanxingbudui
    功能:五角星的绘制
    版本:3.0
    日期:20190227
    增强功能:加入循环操作绘制重复不同大小的图形
    增强功能:将函数与循环结合,使用递归函数
"""
import turtle


def draw_recursive_pentagram(size):
    """
       递归函数绘制五角星
    """
    count = 0
    while count < 5:
        turtle.forward(size)
        turtle.right(144)
        count += 1
    size += 20
    if size <= 200:
        draw_recursive_pentagram(size)


def main():
    """
        主函数
    """
    turtle.pencolor('red')
    turtle.pensize(2)
    size = 100
    draw_recursive_pentagram(size)
    # 点击鼠标退出
    turtle.exitonclick()


if __name__ == '__main__':
    main()

瞬间主函数变得无比简单了,一行参数赋值,一行调用函数,两行代码就能绘制重复不同大小的五角星了。

递归函数(迭代函数)的逻辑:

1、程序先运行while条件,绘制一个五角星

2、参数增加

3、判断是否符合if条件

4、符合条件,调用自己函数,使用新的参数值;不符合条件终止运行程序。

猜你喜欢

转载自blog.csdn.net/lanxingbudui/article/details/87965530
今日推荐