Mais conteúdo relacionado
Semelhante a Python程式設計 - 迴圈作業 (20)
Mais de 吳錫修 (ShyiShiou Wu) (20)
Python程式設計 - 迴圈作業
- 1. Python 迴圈作業
Revised on March 14, 2020
關係運算子與邏輯運算子
for迴圈
使用range函式
使用break與continue命令
for…else迴圈
while迴圈
while…else迴圈
巢狀迴圏
- 2. 循序 (sequence)
依先後順序,⼀個步驟接著⼀個步驟依序執⾏
分支選擇 (branch)
依據不同的條件值,選擇不同的解題步驟執⾏
反覆 (iteration)
部分解題步驟需要反覆執⾏,直到符合或是不符合某⼀條件式時,才
會離開重複執⾏的部份;也常被稱為「迴圈 (Loop)」
分支與反覆作業通常需要搭配關係運算子與邏輯運算子來建立條件式
基本程式邏輯
2
- 3. 運算子 說明 實例 運算結果
== 左側運算元與右側運算元是否相等
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
關係運算子
3
- 4. and (且)邏輯運算子
溫度(temper)高於30而且不超過的條件式寫法
(temper > 30) and (temper <= 38)
or (或)邏輯運算子
分數(score)必須介於0~100,則無效分數的條件式寫法
(score < 0) or (score > 100)
not (相反)邏輯運算子
not運算子是單⼀的條件式運算,主要是把條件式的結果造成相反結果,
即True False,False True
邏輯運算子
4
- 6. 用來產生整數串列,語法:
range(終值)
產生從0到「終值-1」的串列
range(起始值, 終值 [,間隔值])
起始值:整數串列的起始值,如果省略初值時,則預設從0開始
終值:整數串列的終⽌值 (串列不含終⽌值)
間隔值:整數串列元素的間隔值,該值可以為正值、負值或者省略
預設間隔值為1
間隔值是正值時,產生從起始值開始,每次遞增間隔值,到「終⽌值-1」為
⽌的串列
間隔值為負值時,此時起始值必須大於終⽌值,產生的串列為由起始值開始,
每次遞減間隔值, 到「終⽌值+1」
range函式 1/2
- 7. range(5) #[0, 1, 2, 3, 4]
range(1, 10) #[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1, 10, 2) #[1, 3, 5, 7, 9]
range(10, 1, -2) #[10, 8, 6, 4, 2]
range函式 2/2
7
- 8. 費氏數列(Fibonacci number)頭兩個數為0與1,之後值為其前兩個
數總和
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610
設計程式,計算任⼀項的費氏數列值
Lab 費氏級數
8
- 11. 迴圈執⾏時,break命令可強制脫離迴圈
須搭配條件敘述
break命令也適用while迴圈
break命令
11
1
2
3
4
5
6
7
for var in range(start, end):
statement
if(boolean-expression):
break
statement
...
statement
強制脫離for迴圈
- 13. 語法
for 迴圈變數 in 串列:
迴圈區塊
else:
else程式區塊
當for迴圈正常結束後,程式流程會執⾏else程式區塊⼀次
for…else
True
還有元素未處理? 迴圏區塊
False
迴圏變數=串列
第1個元素
迴圏變數=串列
下1個元素
else程式區塊
- 15. 語法
while (條件式):
迴圈區塊
while迴圈在迴圈開始前,會先檢查條件式是否成立,如果不成立,
程式流程會略過迴圈區塊,向下繼續執⾏。反之,程式流程會在迴圈
內循環,直到條件式的結果不成立,才會脫離迴圈
通常用於沒有固定次數的情況
while迴圈 1/2
True
迴圏條件? 迴圏區塊
False
- 20. 下列程式碼執⾏後,輸出結果為何?
sum = 0
for x in range(10):
sum += x
print(x, sum, sep=',')
A. 9,45
B. 10,45
C. 10,55
D. 11,55
自我評量 1/4