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()
绘制一颗树:
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()
详细的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." --《少年时代》
) ***"""