## 函數定義重申
我們知道,函數的定義可以用:**根據輸入做特定的處理,將處理結果返回**來描述。通過函數,可以讓我們的程序**結構清晰**、**復用性好**、**容易修改**。這節課,我們就通過一些函數實例還體會用函數的好處。
## 函數實例
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=π*r2**,咱們用函數來模擬一下怎么求圓形的面積:

~~~
def cricleArea(radii):
return 3.14 * radii * radii
print(cricleArea(2))
print(cricleArea(4))
print(cricleArea(5))
~~~
我們將 **S=π*r2** 定義個函數,這樣在計算圓形面積的時候,只需要調用cricleArea即可。這樣可以就可以避免重復的代碼,后續改代碼也會輕松很多
3. 正多邊形周長
我們知道,正多邊形的周長是邊長乘以邊數,咱們來用函數模擬求正多邊形的過程。
~~~
def polygonLength(edgeLength, edgeCount):
return edgeLength*edgeCount
print(polygonLength(4,4))
print(polygonLength(6,5))
print(polygonLength(3,3))
~~~
4. 水狀態的化學實驗
在學習條件語句的時候我們模擬了水在不同溫度下呈現狀態的實驗。咱們來用函數再來實現一遍

看代碼
~~~
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射擊游戲(五)