Control Flow Tools
- if是最單純的一種條件分支敘述句
- if 後面接 condition,最後需要加上冒號:
- 冒號:之後的下一行程式碼記得要縮排
- 當條件(condition)成立時(True), 執行冒號後面的suite程式碼, 若條件不成立 (False), 略過整個suite開始執行 suite之後一行程 式碼
- 用 condition來選擇suite程式碼做或不做
- if語句可以有多個條件(condition),可以用and、or、及 ( ) 來串接。Ex : if Condition_A and Condition_B : [即為條件A與B必須同時成立]
if-elif-else
for Statement
for迴圈是另外一個可以重複進行運算的結構Iterable object:是指可迭代物件, 可以想像成這種物件裡面有可數的項目可依特定順序一個一個取出
Var:稱控制變數又或迴圈變數
for迴圈的執行流程
- 自可迭代物件中取出一個項目, 代入至Var中 (迭代物件 ex: 從list = [1,3,5,10,14],依序取)
- 執行suite
- 回到第一步直到可迭代物件中的項目盡皆取出
這種依次取出(探訪)並且進行代入的動作稱為迭代,當然, break 和 continue 也可以在 for 迴圈中出現。
range() Function
for迴圈中需要用來做迭代的物件可以使用內建函數range(),range(start,end,step),預設start為0,step為1
使用時須改成要用的型態
ex: >>> range(10)
range(0,10)
ex: >>> list (range(0,10,2))
[0,2,4,6,8,10]
while Statement
- 當expression條件成立(True)時, 進行區塊(suite)運算
- 區塊執行完畢後, 再次檢查條件, 若依然成立則執行suite否則開始執行區塊之後的敘述
- 這種重複的結構我們稱為迴圈
- 不再繼續執行區塊的動作稱為跳出迴圈或離開迴圈
else Statement
重複結構while和for都支援額外的else敘述
當while迴圈或for迴圈不是因為break, return或例外終止時(指迴圈正常中止), else_suite會被執行
for / while 的使用時機
- 當需要重複進行運算的時候使用迴圈(for/while)
- 當重複的次數可以清楚被計算或當迭代的表現明顯時使用 for迴圈
- 當重複的次數難以計算(但條件清楚)或是有條件的重複時使用 while
break and continue Statements
對於迴圈想要擁有更高的控制性- 利用break在任何時候跳出迴圈
- 利用continue在任何時候略過迴圈(略過本次迴圈剩餘的運算) , 而這些時機點通常搭配選擇結構來進行
巢狀結構
- 不論是if/elif/else結構,while迴圈或for迴圈都支援巢狀(層疊式)的撰寫, 各層之間的縮排務必清楚, 冒號也要記得加上
- 雙重迴圈(多重迴圈)是程式中重要的結構, 是處理多層(多軌)迭代或是運算的必要手段
- 多重迴圈的運行次序可回到基本定義上想
範例:
'''
分別用for,while迴圈各寫1個n
x n的乘法表
程式可以讀取使用者輸入的值
n, n>1
'''
num =
int(input('input a number : '))
for i
in range(1,num+1,1):
for j in range(1,num+1,1):
print('%d * %d = %d' %(i,j,i*j))
i = 1
j = 1
while
i <= num:
while j <=num:
print('%d * %d = %d' % (i, j, i * j))
j += 1
i += 1
j = 1
沒有留言:
張貼留言