全國計算機等級考試二級 Python 語 言程式設計考試大綱(2018 年版)解析(第二節)
這一節我們來解析考試內容的第三部分:程式的控制結構。 1:程式的三種控制結構。 第一種為if選擇分支結構,if 語句的子句(也就是緊跟 if 語句的語句塊), 將在語句的條件為 True 時執行。如果條件為 False,子句將跳過。 在英文中, if 語句念起來可能是:“ 如果條件為真,執行子句中的程式碼。” 在 Python 中,if 語句包含以下部分: 1.if 關鍵字; 2.條件(即求值為 True 或 False 的表示式; 3.冒號; 4.在下一行開始,縮排的程式碼塊(稱為 if 子句。 這裡貼一張圖來說明問題。 第二種while迴圈結構: 利用 while 語句,可以讓一個程式碼塊一遍又一遍的執行。只要 while 語句的條 件為 True,while 子句中的程式碼就會執行。在程式碼中,while 語句總是包含下面幾 部分: 1.關鍵字; 2.條件(求值為 True 或 False 的表示式); 3.冒號; 4. 從新行開始,縮排的程式碼塊(稱為 while 子句)。
第三種for循壞語句。 先上程式碼: for 語句在這裡起遍歷作用,什麼是遍歷,就是挨個訪問。range(1,5)代表的是1-4這四個數。print(i)就會挨個輸出,for迴圈迴圈一次,print就會列印一次。 在程式碼中,for 語句看起來像 for i in range(1,5):這樣,總是包含以下部分: 1.for 關鍵字; 2. 一個變數名; 3. in 關鍵字; 4.呼叫 range()方法,最多傳入 3 個引數; 5.冒號; 6.從下一行開始,縮退的程式碼塊(稱為 for 子句)
2:程式的分支結構。 第一種為單分支結構: 顧名思義就是隻有一個分支。條件為真,就執行下一行縮退的程式碼塊。條件為假的話,就會跳出,沒有其他的選擇。我們下來把單分支結構和二分支結構比較一下,大家就能很好的理解了。 單分支結構:
spam=1
if(spam>2):
print("我愛你")
print("你愛我")
輸出為“你愛我”。 二分支結構相比單分支就是多了一個選擇。當上面的spam>2為假,對於二分支來說就多了一種選擇,我們舉例說明:
spam=1
if(spam>2):
print("我愛你")
else:
print("你愛我")
print("我可喜歡你了")
輸出為:
你愛我
我可喜歡你了
這下大家就可以明白他們之間的區別了。 第三種為多分支結構,我們把它與二分支比較,二分支是兩個選擇,你不是滿足這個條件就是滿足另一個條件,那麼多分支就是有多中選擇。上程式碼:
spam=50
if(spam<2):
print("我愛你")
elif(spam<15):
print("你愛我")
elif(spam<39):
print("我可喜歡你了")
elif(spam<45):
print("那我不喜歡你")
else:
print("你可真是個小笨蛋")
輸出為:
你可真是個小笨蛋
這下就很直觀了。 3:程式的迴圈結構 第一個為遍歷迴圈: 通俗說就是挨個迴圈你所指定的資料。上面我們已有介紹。 第二個為無線迴圈: 無限迴圈是因為沒有可以跳出迴圈的條件,所以會導致無線的迴圈。我們舉例說明: 因為spam<5的條件一直為真,而且有沒有跳出迴圈的條件,這是print語句就會不停反覆執行。 第三個是break語句: 有一個捷徑,讓執行提前跳出 while 迴圈子句。如果執行遇到 break 語句,就 會馬上退出 while 迴圈子句。在程式碼中,break 語句僅包含 break 關鍵字。
while True:
print("我愛你")
name=input("你的名字?")
if name=="王大錘":
break
print("你真聰明")
第一行建立了一個“無限迴圈”,它是一個條件總是為 True 的 while 迴圈。( 表 達式 True 總是求值為 True。)程式執行將總是進入迴圈,只有遇到 break 語句執行 時才會退出(“ 永遠不”退出的無限迴圈是一個常見的程式設計缺陷)。程式要求使用者輸入 name。雖然執行仍然在 while 迴圈內,但有一個 if 語句會被執行,檢查 name 是否等於 “王大錘”。 如果條件為 True,break 語句就會執行,執行就會跳出迴圈,轉到 print(‘你真聰明’) 。否則,包含 break 語句的 if 語句子句就會跳過,讓執行到達 while 循 環的末尾。此時,程式執行跳回到 while 語句的開始,重新檢查條件。因為 條件是 True,所以執行進入迴圈,再次要求使用者輸入name。 這是輸出測試。 第四種為continue迴圈控制: 像 break 語句一樣,continue 語句用於迴圈內部。如果程式執行遇到 continue 語句,就會馬上跳回到迴圈開始處,重新對迴圈條件求值(這也是執行到達迴圈末 尾時發生的事情)。 我們來舉個例子,說明break和continue的區別。break相當於你家住在高層,房子著火時,你直接從20層一躍而下。而continue相當於房子著火時,你只能在20層跳來跳去,永遠跳不到其他樓層。這既是break和continue的區別。 4.程式的異常處理: 我們首先來了解什麼是異常: 什麼是異常? 異常即是一個事件,該事件會在程式執行過程中發生,影響了程式的正常執行。一般情況下,在Python無法正常處理程式時就會發生一個異常。異常是Python物件,表示一個錯誤。當Python指令碼發生異常時我們需要捕獲處理它,否則程式會終止執行。
try:
#你要執行的程式碼
except:
#出錯後將要執行的程式碼
我們來分析上面的程式碼,try語句裡的print(5/0)是一個錯誤的語句,因此當程式執行到這裡時發現錯誤就會轉而去執行except裡面的縮排程式碼塊。這樣一來,可以避免我們的程式因為出現錯誤而停止執行。
這一節我們就解析到這裡,請大家盡請期待下一節。