## 函数定义重申
我们知道,函数的定义可以用:**根据输入做特定的处理,将处理结果返回**来描述。通过函数,可以让我们的程序**结构清晰**、**复用性好**、**容易修改**。这节课,我们就通过一些函数实例还体会用函数的好处。
## 函数实例
1. 九九乘法表
在学习循环的时候,我们用用循环实现了一个99乘法表,咱们再来复习一下代码。
~~~
a = 0
while a < 9:
a = a + 1
b = 0
multi = []
while b < a:
b = b + 1
multi.append("%s*%s=%s" % (str(a), str(b), str(a * b)))
print(' '.join(multi))
~~~
我们这个代码里有一个双层循环,外层循环是用来循环1~9的九行的乘数。内层循环是用来输出每一行的内容。我们尝试用函数来改造这个程序,看代码:
~~~
def buildRow(a):
b = 0
multi = []
while b < a:
b = b + 1
multi.append("%s*%s=%s" % (str(a), str(b), str(a * b)))
return " ".join(multi)
a = 0
while a < 9:
a = a + 1
print(buildRow(a))
~~~
相比于未定义函数的代码,我们通过`buildRow`函数将每行输出的内容给抽象出来,这样代码的结构会清晰很多。
2. 圆的面积
我们知道,圆形的面积公式是:**S=π*r²**,咱们用函数来模拟一下怎么求圆形的面积:
![](https://s1.ax1x.com/2018/08/16/PRIK3V.png)
~~~
def cricleArea(radii):
return 3.14 * radii * radii
print(cricleArea(2))
print(cricleArea(4))
print(cricleArea(5))
~~~
我们将 **S=π*r²** 定义个函数,这样在计算圆形面积的时候,只需要调用cricleArea即可。这样可以就可以避免重复的代码,后续改代码也会轻松很多
3. 正多边形周长
我们知道,正多边形的周长是边长乘以边数,咱们来用函数模拟求正多边形的过程。
~~~
def polygonLength(edgeLength, edgeCount):
return edgeLength*edgeCount
print(polygonLength(4,4))
print(polygonLength(6,5))
print(polygonLength(3,3))
~~~
4. 水状态的化学实验
在学习条件语句的时候我们模拟了水在不同温度下呈现状态的实验。咱们来用函数再来实现一遍
![](https://slidesplayer.com/11727296/65/images/5/%E6%B0%B4%E7%9A%84%E5%90%84%E7%A7%8D%E5%BD%A2%E6%80%81+%E4%BD%A0%E8%BF%98%E8%83%BD%E6%83%B3%E5%88%B0%E5%93%AA%E4%BA%9B%EF%BC%9F+%E6%B2%B3%E6%B5%81%E3%80%81%E6%B5%B7%E6%B4%8B%E3%80%81%E6%B9%96%E6%B3%8A%E3%80%81%E5%B1%B1%E6%B3%89%E3%80%81%E5%BD%A9%E8%99%B9%E3%80%81%E7%80%91%E5%B8%83%E2%80%A6%E2%80%A6+%E6%B0%B4%E7%9A%84%E4%B8%89%E6%80%81%EF%BC%9A%E5%9B%BA%E6%80%81%E3%80%81%E6%B6%B2%E6%80%81%E3%80%81%E6%B0%94%E6%80%81+%E6%B0%B4+%E9%9B%BE+%E9%9C%B2%E7%8F%A0+%E6%B0%B4%E8%92%B8%E6%B0%94+%E5%86%B0+%E9%9C%9C+%E9%9B%AA+%E9%9B%A8.jpg)
看代码
~~~
def getWaterStatus(temperature):
if temperature < 0:
return "固态"
elif temperature >= 0 and temperature <= 100:
return "液态"
else:
return "气态"
print(getWaterStatus(-2))
print(getWaterStatus(10))
print(getWaterStatus(120))
~~~
怎么样?通过这个例子对函数有没有更形象的认识了呢?
- 课程介绍
- 搭建环境
- 什么是计算机
- 程序是怎么运行的
- 安装python
- 项目实例-安装IDE
- 变量和简单数据类型
- 数据&变量
- 数字
- 字符串
- 布尔类型
- 项目实例
- 容器-列表
- 容器
- 列表
- 项目实例
- 容器-字典
- 定义字典
- 项目实例
- 数据类型总结
- 条件语句
- python条件语句
- 项目实例
- 循环语句
- for循环
- while循环
- 项目实例
- 函数
- 5.0函数定义
- 5.2函数实战
- 6.文件系统
- 6.1 文件系统介绍&python查找文件
- 6.2 用python读写文件
- 7. python操作时间
- 8.面向对象
- 8.1 类和对象
- 8.2 继承和重写
- 8.3 面向对象项目实战
- 9 GUI编程
- 9.1 GUI基础
- 9.2 备忘清单GUI版
- 10.网络
- 10.1 网络的发展
- 10.2 python http
- 11.web开发
- 11.1 web基础&HTML
- 11.2 CSS&JavaScript
- 11.3 网页计算器
- 11.3 网站开发实战-播客搭建
- 11.3 python-web
- 12. 项目实战-数据处理
- 13. 项目实战-AI入门
- 13.1 环境搭建
- 心得
- 13.2 Tensorflow的瓜怎么吃
- 14 pygame
- 14.1 pygame Helloworld
- 14.4 pygame 动画基础 Animation
- 从0开始学python第14.5节 pygame 加载图片和声音
- 从0开始学python第14.6节 pygame.sprite(上)
- 14.7 pygame.sprite模块(下)
- 14.8 pygame射击游戏(一)
- pygame射击游戏(二)
- 14.8 pygame射击游戏(三)
- 14.8 pygame射击游戏(四)
- 14.8 pygame射击游戏(五)