SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

mBot教學(3) - 開發mBot應用程式
mBot教學(3) - 開發mBot應用程式mBot教學(3) - 開發mBot應用程式
mBot教學(3) - 開發mBot應用程式
 
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
 
Arduino 底層原始碼解析心得
Arduino 底層原始碼解析心得Arduino 底層原始碼解析心得
Arduino 底層原始碼解析心得
 
mBot 教學10 藍牙控制應用
mBot 教學10 藍牙控制應用mBot 教學10 藍牙控制應用
mBot 教學10 藍牙控制應用
 
Arduino 習作工坊 - Lesson 4 通訊之夜
Arduino 習作工坊 -  Lesson 4 通訊之夜Arduino 習作工坊 -  Lesson 4 通訊之夜
Arduino 習作工坊 - Lesson 4 通訊之夜
 
micro:bit開關控制應用
micro:bit開關控制應用micro:bit開關控制應用
micro:bit開關控制應用
 
mBot教學(9)- 紅外線傳輸應用
mBot教學(9)-紅外線傳輸應用mBot教學(9)-紅外線傳輸應用
mBot教學(9)- 紅外線傳輸應用
 
mBlock積木式設計程式
mBlock積木式設計程式mBlock積木式設計程式
mBlock積木式設計程式
 
MakeBlock 超萌機器人 mBot 簡介 - 探奇工作室
MakeBlock 超萌機器人 mBot 簡介 - 探奇工作室MakeBlock 超萌機器人 mBot 簡介 - 探奇工作室
MakeBlock 超萌機器人 mBot 簡介 - 探奇工作室
 
mbot2.0教學-陀螺儀與三軸加速計應用.pdf
mbot2.0教學-陀螺儀與三軸加速計應用.pdfmbot2.0教學-陀螺儀與三軸加速計應用.pdf
mbot2.0教學-陀螺儀與三軸加速計應用.pdf
 
機器人齊步走 mBlock5 mbot_ver8_探奇邱信仁
機器人齊步走 mBlock5 mbot_ver8_探奇邱信仁機器人齊步走 mBlock5 mbot_ver8_探奇邱信仁
機器人齊步走 mBlock5 mbot_ver8_探奇邱信仁
 
mBot教學(2)-mBlock積木式程式設計
mBot教學(2)-mBlock積木式程式設計mBot教學(2)-mBlock積木式程式設計
mBot教學(2)-mBlock積木式程式設計
 
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v72017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
2017 探奇 mBot mblock 機器人齊步走 15小時課程講義 v7
 
micro:bit加速度感測應用
micro:bit加速度感測應用micro:bit加速度感測應用
micro:bit加速度感測應用
 
Arduino基礎IO控制
Arduino基礎IO控制Arduino基礎IO控制
Arduino基礎IO控制
 
mBot 機器人套件說明書繁體 by 探奇工作室3
mBot 機器人套件說明書繁體 by 探奇工作室3mBot 機器人套件說明書繁體 by 探奇工作室3
mBot 機器人套件說明書繁體 by 探奇工作室3
 
mBot教學(6)-光感測器與LED應用
mBot教學(6)-光感測器與LED應用mBot教學(6)-光感測器與LED應用
mBot教學(6)-光感測器與LED應用
 
mBot 教學2 mBlock積木式設計程式
mBot 教學2 mBlock積木式設計程式mBot 教學2 mBlock積木式設計程式
mBot 教學2 mBlock積木式設計程式
 
mbot2.0教學-四路顏色感測器應用.pdf
mbot2.0教學-四路顏色感測器應用.pdfmbot2.0教學-四路顏色感測器應用.pdf
mbot2.0教學-四路顏色感測器應用.pdf
 
mBot教學(1) - mBot初體驗
mBot教學(1) - mBot初體驗mBot教學(1) - mBot初體驗
mBot教學(1) - mBot初體驗
 

Ähnlich wie Python程式設計 - 分支作業 (8)

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(曾懷恩教授演講)
 

Mehr von 吳錫修 (ShyiShiou Wu)

Mehr von 吳錫修 (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教學-光感測器與LED應用.pdf
mbot2.0教學-光感測器與LED應用.pdfmbot2.0教學-光感測器與LED應用.pdf
mbot2.0教學-光感測器與LED應用.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開發環境
 
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程式設計 - 分支作業