Python中的turtle库简介(绘制五角星和分形树)

turtle库:(形状绘制函数)

turtle最早来自于LOGO语言,是专门用于小孩子学习编程的,通过编程模拟一只turtle(海龟)在画板上爬行绘制图案,后来很多高级语言都移植了海龟绘图,python从2.6之后也将turtle库加入了其内部库中。由于是内部库,使用import turtle语句就能引入turtle库,绘图主要有以下几个步骤:设置画板、设置画笔、控制海龟移动绘制图形、色彩填充。


turtle库方法:

turtle.forward(distance)/ turtle.fd(distance):画笔向前移动distance距离

>>> turtle.position()
(0.00,0.00)
>>> turtle.forward(25)
>>> turtle.position()
(25.00,0.00)
>>> turtle.forward(-75)
>>> turtle.position()
(-50.00,0.00)

turtle.backward(distance)/ turtle.back (distance)/ turtle.bk (distance):画笔向后移动distance距离

>>> turtle.position()
(0.00,0.00)
>>> turtle.backward(30)
>>> turtle.position()
(-30.00,0.00)

turtle.right(degree)/ turtle.rt(degree):绘制方向向右旋转degree度

>>> turtle.heading()
22.0
>>> turtle.right(45)
>>> turtle.heading()
337.0

turtle.left(degree)/ turtle.lt(degree):绘制方向向左旋转degree度

>>> turtle.heading()
22.0
>>> turtle.left(45)
>>> turtle.heading()
67.0
turtle.exitonclick() 点击关闭图形窗口
turtle.penup() 抬起画笔,之后移动画笔不绘制图片
turtle.pendown() 落下画笔,之后移动画笔绘制图片
turtle.pensize() 设置画笔宽度
turtle.penup() 设置画笔颜色,常用的颜色

绘制五角星和分形树

绘制五角星:

import turtle

def draw_recursive_pentagram(size):
    """迭代绘制五角星"""

    #计数器
    count = 1
    while count <= 5:
        turtle.forward(size)
        turtle.right(144)
        count += 1

    #五角星绘制完成,更新参数
    size += 50
    if size <= 200:
        draw_recursive_pentagram(size)

def main():
    """主函数"""
    turtle.penup()
    turtle.backward(100)
    turtle.pendown()
    turtle.pensize(4)
    turtle.color("red")

    size = 50
    draw_recursive_pentagram(size)

    turtle.exitonclick()

if __name__ == "__main__" :
	main()

Python中的turtle库简介(绘制五角星和分形树)_第1张图片

绘制一颗树:

import turtle

def draw_branch(branch_length):
    """
    绘制分形树
    """
    if branch_length >= 5:
        #绘制右侧树枝
        turtle.forward(branch_length)
        turtle.right(20)
        draw_branch(branch_length - 5)

        #绘制左侧树枝
        turtle.left(40)
        draw_branch(branch_length - 5)

        #返回根节点
        turtle.right(20)
        turtle.backward(branch_length)


def main():
    """主函数"""

    turtle.penup()
    turtle.backward(50)
    turtle.pendown()
    turtle.left(90)
    turtle.pencolor("orange")
    draw_branch(50)

    turtle.exitonclick()



if __name__ == "__main__" :
    main()

Python中的turtle库简介(绘制五角星和分形树)_第2张图片


详细的turtle库说明请参照官网说明:
https://docs.python.org/3.7/library/turtle.html#overview-of-available-turtle-and-screen-methods


“”"***笔者的话:最近一直在跟随小象学院在学习Python中的库和函数,都是一些基础的知识。整理一下笔记也算是巩固复习了。希望对初学Python的人有所帮助。FIGHTING...(热烈欢迎大家批评指正,互相讨论)
"Consider everything deeply but still remain fearless." --《少年时代》
***"""

你可能感兴趣的:(Python3.7实战操作)