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

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

上一篇文章介绍了如何画一个五角星,现在要绘制重复不同大小的五角星,使用while条件:

直接上代码:

"""
    作者:lanxingbudui
    功能:五角星的绘制
    版本:2.0
    日期:20190226
    增强功能:加入循环操作绘制重复不同大小的图形
"""
import turtle


def main():
    """
        主函数
    """
    # 设置画笔的颜色和粗细
    turtle.pencolor('red')
    turtle.pensize(2)
    size = 100
    while size <= 200:
        # 绘制五角星
        count = 0
        while count < 5:
            turtle.forward(size)
            turtle.right(144)
            count = count + 1
        size = size + 20
    # 点击鼠标退出
    turtle.exitonclick()


if __name__ == '__main__':
    main()

运行结果如下图:

我们在设计程序时,不光要达到我们的要求,还要求代码简洁和运行效率高。我们要想到如何优化代码?

    1、要让程序运行更快;

    2、要让代码更加简洁。

优化一下以上的代码:

"""
    作者:lanxingbudui
    功能:五角星的绘制
    版本:2.0
    日期:20190226
    增强功能:加入循环操作绘制重复不同大小的图形
"""
import turtle


def draw_pentagram(size):
    """
        绘制五角星
    """
    # 绘制五角星
    count = 0
    while count < 5:
        turtle.forward(size)
        turtle.right(144)
        # count = count + 1
        count += 1


def main():
    """
        主函数
    """
    turtle.pencolor('red')
    turtle.pensize(2)
    size = 100
    while size <= 200:
        draw_pentagram(size)
        # size = size + 20
        size += 20
    # 点击鼠标退出
    turtle.exitonclick()


if __name__ == '__main__':
    main()

这样做的目的是为了让主函数简洁,可读性更强了。

turtle 库补充内容:

turtle 库补充内容:
    画笔控制函数,
    turtle.penup()抬起画笔,之后移动画笔不绘制形状;
    turtle.pendown()落下画笔,之后移动画笔绘制形状;
    turtle.pensize()设置画笔宽度;
    turtle.pencolor()设置画笔颜色,常用颜色:
    white/black/grey/darkgreen/gold/voilet/purple

还有很多关于turtle的说明,在此就不一一说明了。提供一下官方文档地址:

https://docs.python.org/3.0/library/turtle.html

自己的计划在2019年3月份,将此网址的英文翻译成中文!!!

猜你喜欢

转载自blog.csdn.net/lanxingbudui/article/details/87950197