天天看點

【Python從零到壹】Python條件語句詳解

歡迎大家來到網際網路老辛的專欄《Python從零到壹》,在這裡我将分享約300篇Python系列文章,所有文章都将結合案例、代碼和作者的經驗講解,真心想把自己近十年的程式設計經驗分享給大家,希望對您有所幫助,文章中不足之處也請海涵。

從事教學工作以來,越來越覺得時間的寶貴,每屆學生都要講重複的課,從今年開始,我将逐漸把分享這件事做下去。

您的關注、點贊和轉發就是對網際網路老辛的最大的支援,知識無價人有情,希望我們都能在人生路上開心快樂、共同成長。

文章目錄

  • ​​1. 一個概念​​
  • ​​2. 分支結構-單分支​​
  • ​​a).單分支​​
  • ​​b)二分支​​
  • ​​c).多分支​​
  • ​​d) 嵌套if​​
  • ​​3. 條件表達式​​
  • ​​pass語句​​

1. 一個概念

記住一個概念: Python一切皆對象,所有對象都有一個布爾值,想要獲得布爾值需要一個内置函數bool()

以下對象的布爾值為False

  • False
  • 數值0
  • None
  • 空字元串
  • 空清單
  • 空元祖
  • 空字典
  • 空集合
# 作者:網際網路老辛
# 開發時間:2021/4/3/0003 9:14

#測試對象的布爾值
print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(None))
print(bool(""))
print(bool([])) #空清單
print(bool(())) #空元祖
print(bool(tuple()))#空元組
print(bool(dict())) #空字典
print(bool(set()))  #空元組      

2. 分支結構-單分支

一.條件語句

選擇結構:就是明确讓計算機知道該在什麼條件下做什麼

在Python中使用冒号(:)來辨別語句塊的開始,塊中每一條語句都有縮進并且縮進量相同,當回退到上一層縮進量時,就表示目前語句塊已經結束。 下面開始詳細講解條件語句。

a).單分支

單分支文法如下:

if <condition>:
  <statement>
  <statement>      

< condition > 是條件表達式,基本格式為< expr >< relop >< expr >;< statement >是語句主體。判斷條件如果為真(True)就執行語句,如果為假(False)就跳過語句,執行下一條語句。條件判斷通常有布爾表達式(True、False)、關系表達式(>、<、>=、<=、= =、!=)和邏輯運算表達式(and、or、not,其優先級從高到低是not、and、or)等。

# 作者:網際網路老辛
# 開發時間:2021/4/3/0003 9:14


money=1000 #餘額
s=int(input("請輸入取款金額:"))
#判斷餘額是否充足
if money>=s:
    money=money-s
    print("取款成功,餘額為:",money)      

輸出結果如下:

【Python從零到壹】Python條件語句詳解

當然單分支這裡有個問題,如果我取2000就會出現問題:

【Python從零到壹】Python條件語句詳解

可以看到取款2000,就沒有任何輸出,這個時候我們就需要雙分支結構

b)二分支

二分支文法如下:

if <condition>:
  <statement>
  <statement>
else:
  <statement>
  <statement>      

執行過程如下圖所示:

【Python從零到壹】Python條件語句詳解
# 作者:網際網路老辛
# 開發時間:2021/4/3/0003 9:14

#雙分支結構,if else
#從鍵盤錄入一個整數,判斷奇數還是偶數
num=int(input("請輸入一個整數: "))
if num%2==0:
    print(num,"是一個偶數")

else:
    print(num,"是一個奇數")      

輸出結果如下

【Python從零到壹】Python條件語句詳解
【Python從零到壹】Python條件語句詳解

c).多分支

if多分支由if-elif-else組成,其中elif相當于else if,同時它可以使用多個if的嵌套。具體文法如下所示:

if <condition1>:
  <case1 statements>
elif<condition2>:
  <case2 statements>
elif<condition3>:
  <case3 statements>
...
else:
  <default statements>      
【Python從零到壹】Python條件語句詳解

該語句是順序評估每個條件,如果目前條件分支為True,則執行對應分支下的語句塊,如果沒有任何條件成立,則執行else中的語句塊,其中else是可以省略的。代碼如下:

# 作者:網際網路老辛
# 開發時間:2021/4/3/0003 9:14
#多分支結構
'''
90-100 A
80-89  B
70-79 C
60-69 D
0-59 E


'''
num = int(input("please input:"))
print(num)
if num >= 90:
    print('A Class')
elif num >= 80:
    print('B Class')
elif num >= 70:
    print('C Class')
elif num >=60:
    print('D Class')
elif num>0 and num<60:
    print('No Pass')

else:
    print("對不起你的成績不在有效範圍内")      

輸出值為30,則在0到6之間,成績為E等級,輸出結果如下圖所示。

【Python從零到壹】Python條件語句詳解

注意:由于Python不支援switch語句,是以多個條件判斷,隻能用elif來實作,如果判斷需要多個條件需同時判斷時,可以:

使用or (或),表示兩個條件有一個成立時判斷條件成功

使用and (與),表示隻有兩個條件同時成立的情況下,判斷條件才成功

# 判斷值是否在小于0或大于10
num = 10
if num < 0 or num > 10:    
    print('hello')
else:
    print('undefine')
# 輸出結果: undefine


# 判斷值是否在0~5或者10~15之間
num = 8
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):    
    print('hello')
else:
    print('undefine')      

d) 嵌套if

【Python從零到壹】Python條件語句詳解
【Python從零到壹】Python條件語句詳解

舉例:

# 作者:網際網路老辛
# 開發時間:2021/4/3/0003 9:14
'''
是否是會員
會員 >=200 8折
    >=100 9折

非會員 >=500 9折

'''
answer=input("你是會員嗎?y/n")
money=int(input('請輸入你的購物金額:'))

if answer=='y':
    if money>=200:
            print('付款金額為:',money*0.8)

    elif money>100:
            print('付款金額為: ',money*0.9)
    else:
            print('未達到打折标準',money)

else:
    print("您是非會員")
    if money>=500:
            print('付款金額為:', money*0.9)

    else:
            print('不打折,付款金額為',money)      

執行結果:

【Python從零到壹】Python條件語句詳解

3. 條件表達式

一般我們用if 。。else的輸出格式為:

# 作者:網際網路老辛
# 開發時間:2021/4/3/0003 9:14
'''
輸入兩個整數進行比較
'''
num_a=int(input('請輸入第一個整數'))
num_b=int(input('請輸入第二個整數'))
if num_a>=num_b:
    print(num_a,'大于等于',num_b)
else:
    print(num_a,'小于',num_b)      
【Python從零到壹】Python條件語句詳解

現在修改為條件格表達式:

x if 判斷條件,else y

# 作者:網際網路老辛
# 開發時間:2021/4/3/0003 9:14
'''
輸入兩個整數進行比較
'''
num_a=int(input('請輸入第一個整數'))
num_b=int(input('請輸入第二個整數'))
print('使用條件表達式進行比較')
print( str(num_a)+'大于等于'+ str(num_b) if num_a>=num_b else str(num_a)+'小于'+ str(num_b) )      

友善簡化操作

pass語句

pass語句隻是一個占位符,用在文法上需要占位的地方

# 作者:網際網路老辛
# 開發時間:2021/4/3/0003 9:14

# 作者:網際網路老辛
# 開發時間:2021/4/3/0003 9:14

`在這裡插入代碼片`answer=input('你是會員嗎?y/n')
if answer=='y':
    pass
else:
    pass      

用占位符,確定文法不報錯。

總結