SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Python分支作業
Revised on March 8, 2020
 結構化程式設計
 條件運算式
 選擇結構
 單向選擇
 雙向選擇
 巢狀選擇
 多向選擇
 Python語言同時支援多種撰寫方式,包括物件導向、命令列、程序導
向的編寫方式(結構化程式設計)
 「結構化程式設計」是透過程式的模組化和程式的結構化,來簡化程
式設計的流程,降低邏輯錯誤發生的機率
 結構化程式設計是採用由上而下(Top-down)的分析模式,將程式中有
獨立功能的程式區塊分割出來使成為「模組」(Module),這些模組最
後再組合成⼀個⼤的完整程式軟體
 結構化程式設計使用循序結構(sequence)、分支結構(branch)、及
重複結構(iteration)這三個基本流程架構來設計程式
 程式最基本架構是由上而下,⼀⾏接著⼀⾏執⾏的「循序結構」
結構化程式設計 1/2
 「分支結構」或「選擇結構」會依據條件的不同而執⾏不同的程式區塊
 「重複結構」流程會在條件成立的情況下反覆執⾏相同的程式區塊
 Python中能產生條件的運算式有「關係運算式」和「邏輯運算式」。
運算式的結果只有條件成立與條件不成立兩種情況,由布林值來記錄
運算結果
 運算結果的布林值為True,表示條件成立;運算結果的布林值為
False,表示條件不成立
 Python布林(bool)資料型別所提供的值為True和False,若是將布林
值進⾏整數運算時,True會轉成「1」,False會轉成「0」
結構化程式設計 2/2
運算子 說明 實例 運算結果
== 左側運算元與右側運算元是否相等
4 + 2 == 1 + 5 True
15 == 3 False
!= 左側運算元與右側運算元是否不相等
2 * 3 != 3 * 2 False
7 != 9 True
> 左側運算元是否大於右側運算元
12 > 10 True
6 * 2 > 3 * 4 False
< 左側運算元是否小於右側運算元
8 < 9 True
3 < 9 – 6 False
>= 左側運算元是否大於或等於右側運算元
12 >= 10 True
6 * 2 >= 3 * 4 True
<= 左側運算元是否小於或等於右側運算元
8 <= 9 True
3 <= 9 - 6 True
關係運算子 1/2
4
關係運算子 2/2
5
 and (且)邏輯運算子
 溫度(temper)高於30度而且不超過38度的條件式寫法
(temper > 30) and (temper <= 38)
邏輯運算子 1/4
6
A B A and B
True True True
True False False
False True False
False False False
 or (或)邏輯運算子
 分數(score)必須介於0~100之間,則無效分數的條件式寫法
(score < 0) or (score > 100)
邏輯運算子 2/4
7
A B A or B
True True True
True False True
False True True
False False False
 not (相反)邏輯運算子
 not 運算子是單⼀的條件式運算,主要是把條件式的結果造成相反結果,
即True  False,False  True
邏輯運算子 3/4
8
A not A
True False
False True
邏輯運算子 4/4
9
 Python的if選擇結構敘述如下
 單向選擇: if …
 雙向選擇: if … else …
 巢狀選擇: if … else …
 多向選擇: if … elif … else
選擇結構 1/8
 單向選擇if…
if (條件式):
執⾏區塊
 if敘述要以「:」冒號為結尾
 選擇區塊要往後縮排4個空白字元
 求num的絕對值
if (num < 0):
num = -num
 成績在55分以上未達60分者,以60分計分
if (score >= 55) and (score < 60):
score = 60
print('加分後勉予及格')
選擇結構 2/8
True
if(條件式):
區塊False
 雙向選擇if…else…
if (條件式):
執⾏區塊⼀
else:
執⾏區塊二
 門票300元,未滿10歲兒童或65歲以上老年人半價
if (age < 10) or (age >= 60):
price = 150
else:
price = 300
選擇結構 3/8
12
True
if(條件式):
區塊1
False
區塊2
 巢狀選擇if…else…
 是指在if或else的程式區塊裡,還有if…或if…else…選擇結構
if (條件式1):
if (條件式2):
執⾏區塊1
else:
執⾏區塊2
else:
if (條件式3):
執⾏區塊3
else:
執⾏區塊4
選擇結構 4/8
if(條件式1):
True False
if(條件式2):
True False
if(條件式3):
True False
區塊4區塊3區塊2區塊1
 給3個整數,使用巢狀選擇結構找出最⼤值
選擇結構 5/8
 多向選擇if…elif…else
if (條件式1):
執⾏區塊1
elif (條件式2):
執⾏區塊2
...
elif (條件式N):
執⾏區塊N
else:
執⾏區塊N+1
選擇結構 6/8
if(條件式1):
True
if(條件式2):
False
True
if(條件式N):
False
True
區塊1
區塊2
區塊N
區塊N+1
 設計程式,依據輸入的分數,顯示成績的等級及評語
選擇結構 7/8
16
分數 90-100 80-89 70-79 60-69 0-59
等級 A B C D F
評語 成就非凡 表現良好 差強人意 仍須努力 待加強
選擇結構 8/8
17
 下列運算式的結果為何?
A. 0 or 5
B. bool(0)
C. bool(-1)
D. None is None
E. -5<0<5
A.5 B.False C.True D.True E.True
自我評量 1/4
 下列條件式的運算結果,何者為False?
A. 15 > 13
B. 'c' < 'f'
C. 'a' == 97
D. (90 / 3 > 100) or (30 * 3 != 120)
自我評量 2/4
19
 優待票的年齡條件為低於15歲或滿65歲,其條件的寫法為何?
A. age < 15 and age >= 65
B. age < 15 or age >= 65
C. age >= 15 or age < 65
D. age >= 15 and age < 65
自我評量 3/4
20
 執⾏下列程式區段,a值結果為何?
a = 8
b = 0
if (a >= 6):
b = 9
if (b < 6):
a = -2
A. 9
B. 6
C. 8
D. -2
自我評量 4/4
21
 使用巢狀if…else結構,設計⼀個可以判斷輸入非零的整數為正數或
負數,以及奇數或偶數的程式
提示:
 ⼤於零的數為正數
 能被2整除的整數為偶數
實作練習I 1/2
22
 參考程式
實作練習I 2/2
23
 設計程式,輸入1~12之間的整數,當輸入值為3、4、5,顯示春天;
輸入值為6、7、8,顯示夏天;輸入值為9、10、11,顯示秋天;輸入
值為12、1、2,顯示春天
實作練習II 1/2
24
 參考程式
實作練習II 2/2
25
 設計程式,輸入綜合所得淨額,計算所得稅稅額
實作練習III 1/2
26
綜合所得淨額 稅率 累進差額
0~540,000 5% 0
540,001~1,210,000 12% 37,800
1,210,001~2,420,000 20% 134,600
2,420,001~4,530,000 30% 376,600
4,530,000~以上 40% 829,600
 參考程式
實作練習III 2/2
27
 某租車公司客戶租用車輛的費用結構如下
 費用是每天100美元
 如果車輛在晚上11點後返還,則客戶將被收取額外⼀天的費用
 如果車輛是在星期天租的,那麼客戶即可享受10%的折扣
 如果車輛是在星期四租的,那麼客戶即可以享受20%的折扣
實作練習1V
28
 撰寫程式,輸入空氣品質指數,輸出空氣品質等級
實作練習V 1/2
輸入AQI(>=0):205
空氣品質:非常不健康
29
 參考程式
實作練習V 2/2
30
 寫⼀程式,輸入用電度數,輸出非夏⽉電費。(限制說明:用電度數必
須為>=0的浮點數)
實作練習VI 1/2
輸入用電度數(>=0):1005
電費=3321元
31
 參考程式
實作練習VI 2/2
32

Contenu connexe

Tendances

mbot2.0教學-mblock5開發mBot 2.0應用程式.pdf
mbot2.0教學-mblock5開發mBot 2.0應用程式.pdfmbot2.0教學-mblock5開發mBot 2.0應用程式.pdf
mbot2.0教學-mblock5開發mBot 2.0應用程式.pdf吳錫修 (ShyiShiou Wu)
 
mbot2.0教學-陀螺儀與三軸加速計應用.pdf
mbot2.0教學-陀螺儀與三軸加速計應用.pdfmbot2.0教學-陀螺儀與三軸加速計應用.pdf
mbot2.0教學-陀螺儀與三軸加速計應用.pdf吳錫修 (ShyiShiou Wu)
 

Tendances (20)

mBot教學(1) - mBot初體驗
mBot教學(1) - mBot初體驗mBot教學(1) - mBot初體驗
mBot教學(1) - mBot初體驗
 
mBot教學(5) - 超音波感測應用
mBot教學(5) - 超音波感測應用mBot教學(5) - 超音波感測應用
mBot教學(5) - 超音波感測應用
 
mBot教學(6)-光感測器與LED應用
mBot教學(6)-光感測器與LED應用mBot教學(6)-光感測器與LED應用
mBot教學(6)-光感測器與LED應用
 
Arduino序列通訊應用
Arduino序列通訊應用Arduino序列通訊應用
Arduino序列通訊應用
 
Python與Ardinio整合應用
Python與Ardinio整合應用Python與Ardinio整合應用
Python與Ardinio整合應用
 
mBot 教學5 超音波感測應用
mBot 教學5 超音波感測應用mBot 教學5 超音波感測應用
mBot 教學5 超音波感測應用
 
mBot 教學4 移動控制
mBot 教學4 移動控制mBot 教學4 移動控制
mBot 教學4 移動控制
 
mBlock積木式設計程式
mBlock積木式設計程式mBlock積木式設計程式
mBlock積木式設計程式
 
mBot 教學6 光感測器與LED應用
mBot 教學6 光感測器與LED應用mBot 教學6 光感測器與LED應用
mBot 教學6 光感測器與LED應用
 
mbot2.0教學-mblock5開發mBot 2.0應用程式.pdf
mbot2.0教學-mblock5開發mBot 2.0應用程式.pdfmbot2.0教學-mblock5開發mBot 2.0應用程式.pdf
mbot2.0教學-mblock5開發mBot 2.0應用程式.pdf
 
mbot2.0教學-組裝與測試.pdf
mbot2.0教學-組裝與測試.pdfmbot2.0教學-組裝與測試.pdf
mbot2.0教學-組裝與測試.pdf
 
mBot教學(7)- 聲光控制應用
mBot教學(7)-聲光控制應用mBot教學(7)-聲光控制應用
mBot教學(7)- 聲光控制應用
 
mbot2.0教學-光感測器與LED應用.pdf
mbot2.0教學-光感測器與LED應用.pdfmbot2.0教學-光感測器與LED應用.pdf
mbot2.0教學-光感測器與LED應用.pdf
 
mBot教學(9)- 紅外線傳輸應用
mBot教學(9)-紅外線傳輸應用mBot教學(9)-紅外線傳輸應用
mBot教學(9)- 紅外線傳輸應用
 
mBot 教學9 紅外線傳輸應用
mBot 教學9 紅外線傳輸應用mBot 教學9 紅外線傳輸應用
mBot 教學9 紅外線傳輸應用
 
mbot2.0教學-陀螺儀與三軸加速計應用.pdf
mbot2.0教學-陀螺儀與三軸加速計應用.pdfmbot2.0教學-陀螺儀與三軸加速計應用.pdf
mbot2.0教學-陀螺儀與三軸加速計應用.pdf
 
mBot 教學7 聲光控制應用
mBot 教學7 聲光控制應用mBot 教學7 聲光控制應用
mBot 教學7 聲光控制應用
 
mBot教學(11) 聲音感測應用
mBot教學(11) 聲音感測應用mBot教學(11) 聲音感測應用
mBot教學(11) 聲音感測應用
 
mBot 教學8 巡跡控制應用
mBot 教學8 巡跡控制應用mBot 教學8 巡跡控制應用
mBot 教學8 巡跡控制應用
 
mbot2.0教學-移動控制.pdf
mbot2.0教學-移動控制.pdfmbot2.0教學-移動控制.pdf
mbot2.0教學-移動控制.pdf
 

Similaire à Python程式設計 - 分支作業

Chapter 3 basic syntax and operator
Chapter 3  basic syntax and operatorChapter 3  basic syntax and operator
Chapter 3 basic syntax and operatorhhliu
 
软件工程
软件工程软件工程
软件工程bill0077
 
面向模式的软件体系架构
面向模式的软件体系架构面向模式的软件体系架构
面向模式的软件体系架构Weijun Zhong
 
長庚 0511.2011(曾懷恩教授演講)
長庚 0511.2011(曾懷恩教授演講)長庚 0511.2011(曾懷恩教授演講)
長庚 0511.2011(曾懷恩教授演講)noritsai
 

Similaire à Python程式設計 - 分支作業 (9)

Python程式設計 - 基本資料運算
Python程式設計 - 基本資料運算Python程式設計 - 基本資料運算
Python程式設計 - 基本資料運算
 
Python分支作業
Python分支作業Python分支作業
Python分支作業
 
Python變數與資料運算
Python變數與資料運算Python變數與資料運算
Python變數與資料運算
 
Chapter 3 basic syntax and operator
Chapter 3  basic syntax and operatorChapter 3  basic syntax and operator
Chapter 3 basic syntax and operator
 
Python系列2
Python系列2Python系列2
Python系列2
 
软件工程
软件工程软件工程
软件工程
 
Python分支與迴圈作業
Python分支與迴圈作業Python分支與迴圈作業
Python分支與迴圈作業
 
面向模式的软件体系架构
面向模式的软件体系架构面向模式的软件体系架构
面向模式的软件体系架构
 
長庚 0511.2011(曾懷恩教授演講)
長庚 0511.2011(曾懷恩教授演講)長庚 0511.2011(曾懷恩教授演講)
長庚 0511.2011(曾懷恩教授演講)
 

Plus de 吳錫修 (ShyiShiou Wu)

mbot2.0教學-四路顏色感測器應用.pdf
mbot2.0教學-四路顏色感測器應用.pdfmbot2.0教學-四路顏色感測器應用.pdf
mbot2.0教學-四路顏色感測器應用.pdf吳錫修 (ShyiShiou Wu)
 

Plus de 吳錫修 (ShyiShiou Wu) (20)

mbot2.0教學-使用makeblock雲服務.pdf
mbot2.0教學-使用makeblock雲服務.pdfmbot2.0教學-使用makeblock雲服務.pdf
mbot2.0教學-使用makeblock雲服務.pdf
 
mbot2.0教學-局域網路傳輸應用.pdf
mbot2.0教學-局域網路傳輸應用.pdfmbot2.0教學-局域網路傳輸應用.pdf
mbot2.0教學-局域網路傳輸應用.pdf
 
mbot2.0教學-四路顏色感測器應用.pdf
mbot2.0教學-四路顏色感測器應用.pdfmbot2.0教學-四路顏色感測器應用.pdf
mbot2.0教學-四路顏色感測器應用.pdf
 
mbot2.0教學-聲光控制應用.pdf
mbot2.0教學-聲光控制應用.pdfmbot2.0教學-聲光控制應用.pdf
mbot2.0教學-聲光控制應用.pdf
 
mbot2.0教學-超音波感測應用.pdf
mbot2.0教學-超音波感測應用.pdfmbot2.0教學-超音波感測應用.pdf
mbot2.0教學-超音波感測應用.pdf
 
Python元組,字典,集合
Python元組,字典,集合Python元組,字典,集合
Python元組,字典,集合
 
Python函式
Python函式Python函式
Python函式
 
Python串列資料應用
Python串列資料應用Python串列資料應用
Python串列資料應用
 
Python 迴圈作業
Python 迴圈作業Python 迴圈作業
Python 迴圈作業
 
Python基本資料運算
Python基本資料運算Python基本資料運算
Python基本資料運算
 
建置Python開發環境
建置Python開發環境建置Python開發環境
建置Python開發環境
 
micro:bit加速度感測應用
micro:bit加速度感測應用micro:bit加速度感測應用
micro:bit加速度感測應用
 
C語言檔案處理
C語言檔案處理C語言檔案處理
C語言檔案處理
 
C語言列舉與聯合
C語言列舉與聯合C語言列舉與聯合
C語言列舉與聯合
 
C語言結構與串列
C語言結構與串列 C語言結構與串列
C語言結構與串列
 
C語言應用前置處理
C語言應用前置處理C語言應用前置處理
C語言應用前置處理
 
C語言函式
C語言函式C語言函式
C語言函式
 
C語言陣列與字串
C語言陣列與字串C語言陣列與字串
C語言陣列與字串
 
C語言迴圈作業
C語言迴圈作業C語言迴圈作業
C語言迴圈作業
 
C語言分支流程
C語言分支流程C語言分支流程
C語言分支流程
 

Python程式設計 - 分支作業