夜光带你走进python开发 (三十)传奇语言

夜光序言:

原来人会变得温柔 是透彻的懂了 。

 

正文:函数实例

实例
 任务:通过编写程序完成在电脑上绘制如图所示的这颗树。
 将任务拆解为两部分

1. 学习简单图形绘制的指令
2. 为树的绘制设计算法


 

Turtle库回顾


 turtle库是非常适合初学者甚至小朋友使用的简单图形绘制模块。
 自Python2.6版本以后,turtle库就已经成为

 

Python的内嵌模块,无需特别安装。


 turtle中的指令,形象而简单, 它绘制的坐标轴以屏幕中心点为原点。


 

Turtle库


 下列turtle库的简单常用指令,请大家练习查询官方提供的turtle使用手册掌握以下命令的用法
 forward(distance) #将箭头移到某一指定坐标
 left(angel) right(angel)
 penup() #提起笔,用于另起一个地方绘制时用,与pendown()配对使用
 goto(x,y)
 home()
 circle(radius)
 speed()

 下面是一个利用turtle库绘制并填充一个五角星的简单程序
 代码如下

树的绘制算法设计


 观察树的图案, 这是一个对称树, 从主杆出发以一定角度向左向右生成对称的枝丫, 而每一棵枝杈上以相同的角度生成更小的左右枝杈,如此往复。联系我们所学过的内容,很容易想到可以利用递归程序实现, 程序代码如下:
 注意:以下代码为turtle库提供标准例程的简化版,以注释的形式保留了原例程中的部分代码和解释,供大家练习、加深理解
 可以练习以p.speed()替代p.getscreen.tracer()的调用,调整绘画速度

Tree函数的代码

树的绘制算法设计


 请通过调整绘画速度,观察绘画过程,更好的理解递归程序的调用过程。
 思考:之前讲过递归程序一定要有基例,否则递归程序一直进行无法终止,将导致程序崩溃,那在我们这个tree()函数的编写过程中,我们使用的基例是什么呢?


森林的绘制


 如何画出多棵树,甚至整片森林呢?
 答案很简单,只要在画每棵树之前调整画笔的位置,调用画树程序,就可以从新位置生成一颗新树了。
 利用模块化的函数思想,调整代码:
 将每棵树的绘制以maketree函数封装,参数x,y为画树的起点位置即树根位置。在main函数中只要以不同的参数设置来调用maketree函数就可以完成多棵树的绘制了

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值