023 程序的分支控制

1、概述

  • 單分支結構
  • 二分支結構
  • 多分支結構
  • 條件判斷及組合
  • 程序的異常處理

2、單分支結構

根據判斷條件結果而選擇不一樣向前路徑的運行方式code

023-程序的分支控制-01.jpg?x-oss-process=style/watermark

2.1 單分支示例

if True:
    print("條件正確")
guess = eval(input("請輸入你猜想的年齡:"))
if guess == 99:
    print("猜對了")
請輸入你猜想的年齡:99
猜對了

3、二分支結構

根據判斷條件結果而選擇不一樣向前路徑的運行方式orm

023-程序的分支控制-02.jpg?x-oss-process=style/watermark

3.1 二分支示例

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

3.2 緊湊形式

緊湊形式:適用於簡單表達式的二分支結構blog

<表達式1> if <條件> else <表達式2>input

guess = eval(input())

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

4、多分支結構

if <條件1>:
    <語句塊1>
elif <條件2>:
    <語句塊2>
    ……
else:
    <語句塊N>

023-程序的分支控制-03.jpg?x-oss-process=style/watermark

  • 注意多條件之間的包含關係
  • 注意變量取值範圍的覆蓋
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))

5、條件判斷及組合

5.1 條件判斷

操做符 數學符號 描述
< < 小於
<= 小於等於
>= 大於等於
> > 大於
== = 等於
!= 不等於

5.2 條件組合

用於條件組合的三個保留字數學

操做符及使用 描述
x and y 兩個條件x和y的邏輯與
x or y 兩個條件x和y的邏輯或
not x 條件x的邏輯非

5.3 條件判斷及組合

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

6、程序的異常處理

6.1 異常處理

num = eval(input("請輸入一個整數: "))
print(num**2)

# 當用戶沒有輸入整數時,會產生異常,怎麼處理?

023-程序的分支控制-04.jpg?x-oss-process=style/watermark

6.2 異常處理的基本使用

6.2.1 示例1

try:
    <語句塊1>
except:
    <語句塊2>
try:
    num = eval(input("請輸入一個整數: "))
    print(num**2)
except:
    print("輸入不是整數")
請輸入一個整數: 234sdfr
輸入不是整數

6.2.2 示例2

try:
    <語句塊1>
except <異常類型>:
    <語句塊2>
try:
    num = eval(input("請輸入一個整數: "))
    print(num**2)
# 標註異常類型後,僅響應該異常
# 異常類型名字等同於變量
except NameError:
    print("輸入不是整數")
請輸入一個整數: sdf2
輸入不是整數

6.3 異常處理的高級使用

try:
    <語句塊1> 
except:
    <語句塊2> 
else:
    <語句塊3> 
finally:
    <語句塊4>
  • finally對應語句塊4必定執行
  • else對應語句塊3在不發生異常時執行

7、單元小結

  • 單分支 if 二分支 if-else 及緊湊形式
  • 多分支 if-elif-else 及條件之間關係
  • not and or > >= == <= < !=
  • 異常處理 try-except-else-finally
相關文章
相關標籤/搜索