Python學習筆記:分支結構

1. 單分支結構

單分支結構即只有一個分支,如下,有兩種方式實現

guess = eval(input())
if guess == 99:
    print("猜對了")
if True:
    print("條件正確")

2. 二分支結構

2.1定義

根據判斷條件結果而選擇不同向前路徑的運行方式
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-5bz9zzoq-1584351475543)(attachment:image.png)]

guess = eval(input())
if guess ==99:
    print("猜對了")
else :
    print("猜錯了")
if True:
    print("語句塊1")
else:
    print("語句塊2")

2.2二分支結構的緊湊形式

適用於簡單表達式的二分支結構
<表達式1> if <條件> else <表達式2>
如果滿足條件則執行表達式1,否則執行表達式2

guess = eval(input())
print("猜{}了".format("對"if guess==99 else "錯"))

3. 多分支結構

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-RctavlWA-1584351475546)(attachment:image.png)]

多分支結構一定要注意條件的執行順序,避免出現覆蓋。

下面的代碼是實現對不同分數分級,但是輸入99卻輸出等級爲D。是因爲多分支的條件判斷順序錯了,應該從大到小比較才能避免出現覆蓋問題。

score= eval(input())
if score >= 60:
    grade = "D"
elif score >= 70:
    grade = "C"
elif score >= 80:
    grade = "B"
elif score >= 90:
    grade = "A"
print("輸入成績屬於級別{}".format(grade))

修改條件順序即可得到正確分級:

score= eval(input())
if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"  
elif score >= 70:
    grade = "C"
elif score >= 60:
    grade = "D"
print("輸入成績屬於級別{}".format(grade))

程序的三大控制結構:順序結構、分支結構、循環結構

4. 條件判斷及組合

4.1 條件判斷操作符

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-nQZ5yXp1-1584351475550)(attachment:image.png)]

4.2 條件組合操作符

and: 與
or: 或
not: 非

guess = eval(input())
if guess > 99 or guess < 99:
    print("猜錯了")
else :
    print("猜對了")

5. 程序的異常處理

異常處理的基本使用:

try:
    <語句1>
except NameError:
    <語句2>

示例1

try :
    num= eval(input("請輸入一個數字: "))
    print(num**2)
except NameError:
    print("輸入不是數字")

異常處理的高級使用

try:
    <語句塊1>
except :
    <語句塊2>
else :
    <語句塊3>
finally :
    <語句塊4>

-finally對應語句塊4一定執行
-else對應語句塊3在不發生異常時執行
即先進行try對應的語句塊1,若正常則進行else對應語句塊3,再進行inally對應語句塊4;
若出現異常,則進行except對應語句塊2,再進行inally對應語句塊4。

注意

本文爲中國大學MOCC的《Python語言程序設計》課程(主講老師:嵩天、黃天羽、禮欣)的學習筆記。如有侵權,立刪。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章