1.7- 條件語句

前面我們看到的程序都是順序執行,程序在執行時是一句句往下進行的,這種一句句順序執行的語句是程序中第一類型的語句

程序中除了這種簡單的順序結構外,還有一種會轉彎的分支結構,它可以根據執行條件來決定該執行哪些語句,不該執行哪些語句,分支語句是程序中的第二類語句

1、條件語句格式一:if 語句
格式一:
if 條件:
  語句

其中條件後面有個":"號, 執行的語句需要向右邊縮進
這種格式的含義是當條件成立時,執行指定的語句,執行完後接着執行if後下一條語句;如條件不成立,則該語句不執行,轉去執行if後下一條語句,如下圖:
在這裏插入圖片描述

2、條件語句格式二:if else
格式二:
if 條件:
 語句 1
else:
 語句 2

else後面有個":",語句1、語句2都要向後邊縮進,而且要對齊
當條件成立時,執行指定的語句1,執行完後執行if後下一條語句;
如條件不成立,執行指定的語句2,執行完後執行if後下一條語句。
如下圖所示:
在這裏插入圖片描述

案例一:輸入一個整數,判斷它是奇數還是偶數
分析:設輸入的整數是n,n%2==0則是偶數,否則爲奇數
程序如下:

n=input("請輸入一個整數:")
n=int(n)
if n%2==0:
    print("偶數")
else:
    print("奇數")    

運行結果如下:

請輸入一個整數:10 
偶數
請輸入一個整數:5 
奇數

案例二:輸入一個整數,輸出其絕對值
分析:設輸入的整數是n,如果n>=0,則輸出n;如果n<0,則輸出-n
程序如下:

n=input("請輸入一個整數:")
n=int(n)
if n>=0:
    print(n)
else:
   print(-n)    

運行結果如下:

請輸入一個整數:5
5
請輸入一個整數:-10
10

案例三:輸入兩個數,輸出最大的一個
分析:這是求兩個數中最大值的問題,設輸入的數是a b,a>b時,則最大值爲a,反之爲b
程序如下:

a=input("請輸入一個數:")
b=input("請輸入一個數:")
a=float(a)
b=float(b)

if a>=b:
    c=a
else:
    c=b

print(c)    

運行結果如下:

請輸入一個數:10.9

請輸入一個數:8.2
10.9

更簡便程序如下:

a=input("請輸入一個數:")
b=input("請輸入一個數:")
a=float(a)
b=float(b)
c=a

if a<b:
    c=b

print(c)    

3、條件語句格式三:多分支語句
多分支語句格式如下:
if 條件1:
 語句1
elif 條件2:
 語句2
elif 條件n:

 語句n
else:
 語句n+1

每個條件後有":",語句1、語句2…等需要向右邊縮進,而且要對齊。
當條件1成立,執行指定的語句1,執行完後,執行if後下一條語句;
當條件1不成立,判斷條件2,條件2成立時,執行指定的語句2,執行完後,執行if後下一條語句;
當條件2不成立,判斷條件3,…
判斷條件n是否成立,條件n成立時,執行指定的語句n,執行完後,執行if後下一條語句;
當條件n不成立,執行else 後的語句n+1,執行完後,執行if後下一條語句。
如下圖所示:
在這裏插入圖片描述

案例四:輸入一個學生的成績,按[90,100]、[80,89]、[70,79]、[60,69]、[0,59]的範圍分別給出A、B、C、D、E的等級
分析:輸入的成績可能不合法(小於0或大於100),也可能在[90,100]、[80,89]、[70,79]、[60,69]、[0,59]其中一段內,需要用多分支if處理
程序如下:

a=input("請輸入一個分數:")
a=float(a)

if a<0 or a>100:
    print("不合法的分數")
 
if a>=90:
    print("A")
elif a>=80:
    print("B")
elif a>=70:
    print("C")  
elif a>=60:
    print("D") 
else:
    print("E")   

運行結果如下:

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