Python條件語句的用法

python條件語句使用 if 表達式,難度不高,需要注意的是嵌套用法,以及如何設置對應的條件。

if 條件判斷語句

python 語句是按固定順序執行的,先執行前面的語句,再執行後面的語句。如果你像要程序按照你自己定製的流程執行,就需要用到流程控制的語句,最主要用到的是條件語句和循環語句。

條件語句用 if 表示,它表示當滿足某個條件時,執行下面的分支代碼。當條件不滿足時,則跳過下面的分支代碼。

image-20210907141048465
image-20210907141048465

在互聯網產品中,你經常能看到條件判斷的場景。比如在一個 app 的登錄頁面中,輸入用戶名和密碼後,程序會判斷用戶名和密碼是否正確,如果正確,則運行用戶進入登錄狀態。如果錯誤,則必須重新輸入。

對應的僞代碼爲:

if 用戶名和密碼正確:
  	登錄成功
else:
  	重新輸入用戶名和密碼

if 語句的語法可以表示爲:

if expression:
  	statement1
else:
  	statement2

當 expresssion 這個表達式爲 True,表示條件滿足,statement1 會執行;當 expression 表達式結果爲 False,則跳到 statement2 執行。 else 表示在一個 if 語句中上面所有的條件均不滿足時,會執行的分支。當你確定 else 時你不需要做任何事,可以省略 else:

if expression:
  	statement1

這裏需要注意一點,在 python 中遇到冒號: 時,新的一行要縮進,表示子句。如果沒有新行,而是直接把語句跟在後面,則不需要縮進:

if expression: statement1

舉個例子來說明一下 if 語句的用法。當學生考試成績高於 80 分,表示良好,否則表示一般。

score = 88
if score > 80:
  	print("良好")
else:
  	print("一般")

有時候一個 if 語句中會有多個條件判斷,可以使用 elif 來分隔每一組條件。

score = 70
if score > 80:
  	print("良好")
elif 60 < score <= 80:
  	print("還行")
else:
  	print("不及格")

在同一個 if 語句中,只有第一個率先滿足條件的分支會執行,其他的分支不會執行。在上面的例子中,學生得了 70 分,第二個條件表達式率先滿足,則走第二個分支。 而在下面的例子中,如果多個條件的範圍有重合,會打印什麼呢?

score = 70
if score > 60:
  	print("不錯哦")
elif 60 < score <= 80:
  	print("還好")
else:
  	print("不及格")

因爲第一個條件率先滿足,所以直接執行第一個分支,其他的分支都不再執行。

多個 if 表達式需要獨立判斷:

score = 70
if score > 60:
  	print("不錯哦")
if 60 < score <= 80:
  	print("還好")
else:
  	print("不及格")

在這個例子中,有 2 個 if 表達式,第一個不會影響第二個的執行。。

條件語句嵌套

在一個 if 語句中可以嵌套另一個 if 語句,像俄羅斯套娃一樣。它表示在滿足外層 if 條件後,可以執行裏面的 if 語句。但是通常提早結束 if 語句,因爲當條件語句嵌套很多層之後,會影響代碼的可讀性。

score = 88
age = 1

if score > 80:
 print("良好")
if age < 6:
 print("神童")
else:
 print("一般")

你可能不知道的條件操作

在程序當中,經常需要判斷一個字符串是否爲空,最常使用的方式是:

a = ''
if not a:
  	print("字符串爲空")

if a:
print("字符串不爲空")

不管是字符串也好,還是列表、字典、集合,都可以使用同樣的方式判斷他們是否爲空。當然你也可以使用下面的方式,但是這些都不是好的做法。

if a == '':
  	print("字符串爲空")
if len(a) == 0:
  	print("字符串爲空")

判斷是否爲 None, 用 is 判斷:

if a is None:
  	print("a 爲 None")

判斷是否爲 0:

if a == 0:
  	print("a 爲 0")

python條件判斷語句案例

name = ''
password = ''
if name == 'admin' and password == '123456':
   print("登錄成功")
else:
   print("登錄失敗")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章