SlideShare a Scribd company logo
04:進階控制流程
2018.1.30
財團法人中華民國電腦技能基金會 策劃 逢甲大學 林英志 老師 編著
此項 2判斷式 + 3迴圈
主題
• 判斷式
• if …
• range 函式
• for 迴圈
• 巢狀 for 迴圈
• break, continue 命令
• for … else … 迴圈
• while 迴圈
2
程式執行流程
3
一行一
行執行 中間一部
分不執行
中間部分
重複執行
流程控制
• Python 的流程控制命令分為兩大類:
• 判斷式:根據關係或邏輯運算的條件式來判斷程式執行的流程,
若條件式結果為 True,就執行跳躍。
• if … elif … else …
• 迴圈:根據關係或邏輯運算條件式的結果為 True 或 False 來
判斷,以決定是否重複執行指定的程式。
• for
• while
4
單向判斷式(if …)
• 單向判斷式是 if 指令中最簡單的型態,語法為:
• if (條件式):
• if 條件式:
5
範例
6
雙向判斷式(if … else …)
7
條件成立
時就執行
那不成
立呢?
雙向判斷式(if … else …)
8
雙向判斷式(if … else …)
9
注意冒號
注意縮排
範例
• 輸入:考試成績(滿分100)
• 輸出:若成績在
• 90 分以上顯示「優等」,
• 80 - 89 分顯示「甲等」,
• 70 - 79 分顯示「乙等」,
• 60 - 69 分顯示「丙等」,
• 60 分以下顯示「丁等」。
10
這程式
有小錯
巢狀(nested)
• 在判斷式 (if … elif … else …) 內可以有判斷式,稱為巢
狀判斷式
• Python 並未限制巢狀判斷式的層數
• 層數太多會降低可讀性,而且維護困難
11
主題
• 判斷式
• if …
• range 函式
• for 迴圈
• 巢狀 for 迴圈
• break, continue 命令
• for … else … 迴圈
• while 迴圈
12
range()
• 迴圈中常使用整數數列 (e.g., 1, 2, 3, …),因此 Python
有個內建(build-in)函式 range() 用來建立整數數列。
• range 函式的語法有三種,分別是 1、2、3 個參數。
• 1 個參數的語法為:
• range(整數值)
• range(5)  0, 1, 2, 3, 4
13
range()
• range 函式包含 2 個參數的語法為:
• range(起始值, 終止值)
• range(3, 7)
• range(-6, -2)
• range(-2, -6)
14
range()
• range 函式包含 3 個參數的語法為:
• range(起始值, 終止值, 間隔值)
• range(3, 8, 1) = range(3, 8)
• range(3, 8, 2)
• range(8, 3, -1)
15
主題
• 判斷式
• if …
• range 函式
• for 迴圈
• 巢狀 for 迴圈
• break, continue 命令
• for … else … 迴圈
• while 迴圈
16
重複執行
17
迴圈
for while
for
• for 通常用於執行固定次數的迴圈,其基本語法結構為:
• for 變數 in 串列:
• 程式區塊
• for 變數 in range(n):
• 程式區塊
18
範例
19
巢狀迴圈
• 迴圈內含迴圈,是為巢狀迴圈(nested loop)
20
break 命令
• 迴圈執行時如果要中途結束,可使用 break 命令強制離
開,例如:
21
continue 命令
• continue 命令則是在迴圈執行中途停住不往下執行,而
跳到迴圈起始處繼續執行,例如:
22
for … else …
• for … else … 是 Python 的設計,語法如下:
• for 變數 in 串列:
• 程式區塊一
• if (條件式):
• 程式區塊二
• break
• else:
• 程式區塊三
23
練習
• 利用 for … else … 迴圈來判斷質數
• 輸入:一個大於 1 的整數 n
• 輸出:
• 如果 n 是質數  “n 是質數”
• 如果 n 不是質數  “n 不是質數”
24
主題
• 判斷式
• if …
• range 函式
• for 迴圈
• 巢狀 for 迴圈
• break, continue 命令
• for … else … 迴圈
• while 迴圈
25
while
• while 通常用於沒有固定迴圈次數的情況,基本語法結構
為:
• while (條件式):
• 程式區塊
26
for vs while
27
Warning !!
• 確定迴圈的條件式最後會是 False,避免無窮迴圈(infinite
loop)
• 避免在迴圈控制的等式檢查中使用浮點數
• item, total_sum = 1, 0
• while item != 0
• total_sum += item
• item -= 0.1
• print(total_sum)
28
PY3-0002
三、迴圈倍數總和
29
本章結束

More Related Content

PPTX
TQC+ 程式語言 Python 03:迴圈
PPTX
TQC+ 程式語言 Python 05:函式
PPTX
TQC+ 程式語言 Python 02:運算式、判斷式
PPTX
TQC+ 程式語言 Python 07:數組、字典、集合
PPTX
TQC+ 程式語言 Python 01:變數與輸出入
PPTX
TQC+ 程式語言 Python 06:串列操作
PPTX
TQC+ 程式語言 Python 09:檔案處理
PPTX
TQC+ 程式語言 Python 08:字串處理
TQC+ 程式語言 Python 03:迴圈
TQC+ 程式語言 Python 05:函式
TQC+ 程式語言 Python 02:運算式、判斷式
TQC+ 程式語言 Python 07:數組、字典、集合
TQC+ 程式語言 Python 01:變數與輸出入
TQC+ 程式語言 Python 06:串列操作
TQC+ 程式語言 Python 09:檔案處理
TQC+ 程式語言 Python 08:字串處理

What's hot (20)

PDF
Tqc+程式語言Python-第0章
PPTX
Loops in Python
PPTX
Strings in Python
PPTX
Control structures in c++
PPTX
python conditional statement.pptx
PPTX
Python Programming
PPT
Introduction to Python - Part Two
PPTX
python presentation
PPTX
Python strings presentation
PPTX
AtCoder Regular Contest 029 解説
PPTX
Code Contracts in .NET 4
PPTX
Command line arguments
PDF
Klee and angr
PPTX
The string class
PDF
Python programming : Files
PPTX
Presentation on nesting of loops
PPT
Live Memory Forensics on Android devices
PPTX
STRINGS IN PYTHON
PPTX
從自然語言處理到文字探勘
Tqc+程式語言Python-第0章
Loops in Python
Strings in Python
Control structures in c++
python conditional statement.pptx
Python Programming
Introduction to Python - Part Two
python presentation
Python strings presentation
AtCoder Regular Contest 029 解説
Code Contracts in .NET 4
Command line arguments
Klee and angr
The string class
Python programming : Files
Presentation on nesting of loops
Live Memory Forensics on Android devices
STRINGS IN PYTHON
從自然語言處理到文字探勘
Ad

More from neochen2701 (8)

PDF
20190923-吳恒毅-精準描述
PDF
201909-1-龔文儀-溝通-觀察
PDF
20191028 -successful cases
PDF
20191021-沈芳玟-影片分鏡稿案例分享
PDF
20191014-林金祥-UIUX
PDF
20190916-高玉璁-角色與溝通技巧工具
PDF
201909-3-葉佩蓉-溝通-書寫
PDF
201909-2-林孟穎-溝通-聆聽
20190923-吳恒毅-精準描述
201909-1-龔文儀-溝通-觀察
20191028 -successful cases
20191021-沈芳玟-影片分鏡稿案例分享
20191014-林金祥-UIUX
20190916-高玉璁-角色與溝通技巧工具
201909-3-葉佩蓉-溝通-書寫
201909-2-林孟穎-溝通-聆聽
Ad

Recently uploaded (20)

PPTX
3分钟读懂南威尔士大学毕业证UCB毕业证学历认证
PDF
01_Course_Introduction(20210916課後更新).pdf
PPTX
3分钟读懂皇家艺术学院毕业证RCA毕业证学历认证
PPTX
3分钟读懂渥太华大学毕业证UO毕业证学历认证
PDF
黑客出手,分数我有!安全可靠的技术支持,让你的GPA瞬间提升,留学之路更加顺畅!【微信:viphuzhao】
PPTX
3分钟读懂肯塔基大学毕业证UK毕业证学历认证
PPTX
3分钟读懂曼彻斯特大学毕业证UoM毕业证学历认证
PPTX
3分钟读懂佩珀代因大学毕业证Pepperdine毕业证学历认证
PPTX
A Digital Transformation Methodology.pptx
PPTX
3分钟读懂滑铁卢大学毕业证Waterloo毕业证学历认证
PDF
想要安全提高成绩?我们的黑客技术采用深度伪装和多层加密手段,确保你的信息安全无忧。价格公道,流程简单,同时提供全面的信息保护和事后痕迹清理,让你轻松提升G...
PPTX
3分钟读懂福特汉姆大学毕业证Fordham毕业证学历认证
PPTX
3分钟读懂加州大学欧文分校毕业证UCI毕业证学历认证
PPTX
3分钟读懂诺里奇艺术大学毕业证NUA毕业证学历认证
PPTX
3分钟读懂伦敦商学院毕业证LBS毕业证学历认证
PPTX
3分钟读懂曼彻斯特城市大学毕业证MMU毕业证学历认证
PPTX
3分钟读懂圭尔夫大学毕业证U of G毕业证学历认证
PPTX
模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板
PPTX
3分钟读懂拉夫堡大学毕业证LU毕业证学历认证
PPTX
3分钟读懂伦敦南岸大学毕业证LSBU毕业证学历认证
3分钟读懂南威尔士大学毕业证UCB毕业证学历认证
01_Course_Introduction(20210916課後更新).pdf
3分钟读懂皇家艺术学院毕业证RCA毕业证学历认证
3分钟读懂渥太华大学毕业证UO毕业证学历认证
黑客出手,分数我有!安全可靠的技术支持,让你的GPA瞬间提升,留学之路更加顺畅!【微信:viphuzhao】
3分钟读懂肯塔基大学毕业证UK毕业证学历认证
3分钟读懂曼彻斯特大学毕业证UoM毕业证学历认证
3分钟读懂佩珀代因大学毕业证Pepperdine毕业证学历认证
A Digital Transformation Methodology.pptx
3分钟读懂滑铁卢大学毕业证Waterloo毕业证学历认证
想要安全提高成绩?我们的黑客技术采用深度伪装和多层加密手段,确保你的信息安全无忧。价格公道,流程简单,同时提供全面的信息保护和事后痕迹清理,让你轻松提升G...
3分钟读懂福特汉姆大学毕业证Fordham毕业证学历认证
3分钟读懂加州大学欧文分校毕业证UCI毕业证学历认证
3分钟读懂诺里奇艺术大学毕业证NUA毕业证学历认证
3分钟读懂伦敦商学院毕业证LBS毕业证学历认证
3分钟读懂曼彻斯特城市大学毕业证MMU毕业证学历认证
3分钟读懂圭尔夫大学毕业证U of G毕业证学历认证
模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板
3分钟读懂拉夫堡大学毕业证LU毕业证学历认证
3分钟读懂伦敦南岸大学毕业证LSBU毕业证学历认证

TQC+ 程式語言 Python 04:進階控制流程