SlideShare a Scribd company logo
1 of 17
Download to read offline
Python分支與迴圈作業
Revised on October 22, 2019
 分支控制
 for迴圏
 for…else迴圏
 while迴圏
 循序 (sequence)
依先後順序,⼀個步驟接著⼀個步驟依序執⾏
 分支選擇 (branch)
依據不同的條件值,選擇不同的解題步驟執⾏
 反覆 (iteration)
部分解題步驟需要反覆執⾏,直到符合或是不符合某⼀條件式時,才
會離開重複執⾏的部份;也常被稱為「迴圈 (Loop)」
基本程式邏輯
2
 出門時要不要帶傘?家裡需不需要開空氣清淨機?
 決策代表方向,其會影響後續的發展
 單⼀狀況、單⼀決策
if (條件式):
程式區塊
score = int(input('輸入成績: '))
if (score >= 60):
grade = "及格"
 程式區塊只有單⼀指令時,可以合併為⼀⾏
score = int(input('輸入成績: '))
if (score >= 60): grade = "及格"
分支控制 1/3
3
 鼓勵小朋友和老年人報名活動,只要是小朋友和老年人報名就會獲得
10%折扣
實作練習
4
 兩種狀況、正反決策
if (條件式):
程式區塊⼀
else:
程式區塊二
分支控制 2/3
5
 多種狀況、多方決策
if (條件式⼀):
程式區塊⼀
elif (條件式二):
程式區塊二
elif (條件式三):
…
else:
程式區塊else
分支控制 3/3
6
 撰寫程式,輸入空氣品質指數,輸出空氣品質等級
實作練習
輸入AQI(>=0):205
空氣品質:非常不健康
7
 某租車公司客戶租用車輛的費用結構如下
 費用是每天100美元
 如果車輛在晚上11點後返還,則客戶將被收取額外⼀天的費用
 如果車輛是在星期天租的,那麼客戶即可享受10%的折扣
 如果車輛是在星期四租的,那麼客戶即可以享受20%的折扣
實作練習
8
 設計電影票收費的函式,票價的規則如下:
 5歲以下= 免費入場
 5歲及以上的學生= 60 元
 5歲到17歲但不是學生= 120元
 17歲以上但不是學生= 180元
實作練習
9
 for 變數 in 串列:
程式區塊
 通常用來執⾏固定次數的迴圈
for迴圈
10
 for迴圈中也可以包含for迴圈,稱為巢狀for迴圈
巢狀for迴圈
11
 迴圈執⾏時,break命令可強制跳離迴圈
break命令
12
1
2
3
4
5
6
7
for var in range(start, end):
statement
if(boolean-expression):
break
statement
...
statement
強制脫離for迴圈
 迴圈執⾏時,continue命令可跳離本次循環,回到迴圈起始處執⾏下
⼀循環
for i in range(1, 11):
if (i == 6):
continue
print (i, end = ",") #1,2,3,4,5,7,8,9,10
continue命令
13
1
2
3
4
5
6
7
for var in range(start, end):
statement
if(boolean-expression):
continue
statement
...
statement
繼續處理下一個數列資料
 當for迴圈正常執⾏完,才會執⾏else程式區塊
 for…else迴圈通常會和if及break命令配合使用
for 變數 in 串列:
程式區塊⼀
if (條件式):
程式區塊二
break
else:
程式區塊三
for…else迴圈 1/2
14
 判斷質數
for…else迴圈 2/2
15
 while迴圈通常用於沒有固定次數的情況
while (條件式):
程式區塊
while迴圈
16
 假設有⼀隻蝸⽜爬20公尺的樹,白天可以爬3.5公尺,晚上會下滑1.2
公尺。寫⼀程式顯⽰蝸⽜爬到樹頂的過程
實作練習
17

More Related Content

More from 吳錫修 (ShyiShiou Wu)

mbot2.0教學-四路顏色感測器應用.pdf
mbot2.0教學-四路顏色感測器應用.pdfmbot2.0教學-四路顏色感測器應用.pdf
mbot2.0教學-四路顏色感測器應用.pdf吳錫修 (ShyiShiou Wu)
 
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)
 

More from 吳錫修 (ShyiShiou Wu) (20)

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教學-光感測器與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教學-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
 
Python元組,字典,集合
Python元組,字典,集合Python元組,字典,集合
Python元組,字典,集合
 
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語言應用前置處理
 

Python分支與迴圈作業