控制流程(Control Flow)其實不是什麼大學問,只是一個程式流程的邏輯... 換句話說,就是你們在 C 語言所學的 if ... else statement,或者 for while loops 等等。雖然這些對資管系的學生來說應該都算蠻基本的常識,但是要再此提醒大家這個邏輯對你們理解別人的程式碼的時候非常重要哦~甚至鼓勵各位在寫程式碼前可以先畫一個流程圖,讓你們寫程式的時候可以寫得更有效率... (OS: 好啦老人不要再嘮叨了...)

條件判斷

很明顯,條件判斷都不會離開布林值(Boolean Value)。主要是當一個條件回复的值是 True 的時候,才會跑這一段程式。當然,Python 裡面是沒有 !True 的寫法, 所以要用 not 來表示 False。在這裡提醒各位要記得縮排哦~

# Syntax
if condition:
    # do this
elif condition:
    # do this
else condition:
    # do this

對了,Python 裡面是沒有 switch case 的條件判斷語法(其實 if else 的語法就已經夠像了)。但是如果你還是想要模擬一個 switch case 的判斷式,你可以寫一個判斷條件的 function 哦~

迴圈

Python 裡面的 for 迴圈跟其他語言視覺上相對得精簡。而我們會經常用 range()len() 的 function 來判斷 loop 的次數。range()這個函式會回傳所傳入數字之間的整數,若傳輸入只有一個值,那他會回傳從 0 開始的數字。

for idx in range(x, y):
    # do this n times
for idx in range(len(object)):
    # do this n times
# 迴圈裡也可以有多個 index 哦~
d = {"a": 1, "b": 2, "c": 3}
for key, value in d.items():
    print(key + ": " + str(value))
    # a: 1
    # b: 2
    # c: 3

Python 裡也有 while 迴圈。while 迴圈主要也是以布林值為判斷基礎。

while condition:
    do this until condition false

異常處理

雖然我們很少在寫 try ... except,但是其實我們在寫程式的時候其實很常看到哦~其實我們寫的程式碼就在一個 try ... except 的架構裡,而當 Python 的直譯器發現有問題的時候,就會跳出 exception 啦~

try:
# do this
# 通常我們就會把程式寫在這裡
except IOError:
print('文件無法打開')
except ValueError:
print('輸入值有問題')
except ImportError:
print("找不到此模組")
except EOFError:
print('End-of-File')
except KeyboardInterrupt:
print('按 Ctrl+C')
except:
print('Error UTF8: User too fcxking 87...')

Leave a Reply

Your email address will not be published. Required fields are marked *