python if條件判斷語句

2021-09-07 20:45:09 字數 2502 閱讀 4436

if語句用來做判斷,並選擇要執行的語句分支。基本格式如下:

if condition1:

code_block(1)

elif condition2:

code_block(2)

elif condition3:

......else:

code_block_else

其中elif是可選的,可以有任意多個,else是可選的,表示全都不滿足條件時該執行的分支。

例如:

a = 4

if a > 3:

print("hello world")

條件表示式condition部分以運算結果的true、false為if的分支執行依據。在python中所有資料物件要麼是true,要麼是false,所以任何乙個資料、表示式都可以作為if的condition。例如:

if 1:

...if a > b:

...if 'a':

...if :

...if :

...if a and b:

...

至於如何判斷true、false,參見布林值和邏輯運算。

在python中並沒有switch和case的分支選擇語句,但是使用if或dict也能輕鬆實現。

例如,使用dict實現等值的分支選擇:

d = 

fruit = "banana"

print(d[fruit])

上面沒有提供default情況時的分支,但使用get()可以設定dict中找不到key時預設返回的值。例如:

print(d.get("greens","no this fruit"))
還可以通過in的成員測試來設定分支:

if fruit in d:

print(d[fruit])

else:

print("no this fruit")

dict只能做等值比較的分支選擇,要提供非等值的分支比較,只能用if語句。

例如:

score = 77

if score >= 90:

print("優秀")

elif 70 <= score < 90:

print("良好")

elif 60 <= score < 70:

print("及格")

else:

print("不及格")

使用if的好處是通俗易懂,使用dict的好處是將資料儲存到資料結構中,而儲存到資料結構中的資料可以是很複雜的。比如,將函式作為dict的value。

即所謂的三目運算,只不過python中不支援x ? y : z的方式,而是使用if的另一種表示式語法。

對於if x: ***; else yyy這樣的兩分支語句,可以使用更精簡的表示式方式來描述:

*** if x else yyy
雖然看上去和原始的沒什麼區別,但很多時候要方便的多。例如賦值:

if x:

a = y

else:

a = z

等價的三元if寫法:

a = y if x else z
注意,上面"="表示這整行是乙個賦值語句,右邊的是評估物件,評估之後賦值給a,也就是等價於a = (y if x else z),而不是等價於(a = y) if x else z

else不能缺少,否則不是三元運算。另外,if的分支**體y和z都必須只能是單條語句,不能是多語句。也就是說,不能轉換下面的**格式為三元表示式。

if x:

statement1

statement2

else:

statement3

statement4

實際上,三元運算也能使用and / or來實現,還能使用序列 + bool()來實現。

例如:

a = ((x and y) or z)
一般比較少用and/or來實現分支,因為可讀性不好,而且並不總是能和if等價。但有一種情況使用and/or非常方便:從多個值中選擇乙個真值。例如:

a = x or y or z or none
下面是使用序列 + bool()的方式實現的三元運算操作,思路是bool(condition)作為序列的索引。

a = [y, z][bool(x)]
還是那句話,python中基本總是首選簡單的、通俗易懂的方式。所以,用if吧。

if條件判斷語句

如果表示式的值是true,則執行語句塊 否則跳過語句塊。equals 下面的例子使用到的,可以看看。字串判斷不能使用 要使用方法。用來判斷記憶體位址是否相等。輸入男女,輸出boy,girl system.out.println 請輸入男or女 scanner sc new scanner syste...

條件判斷語句

語法 if condition else if condition else示例 var age 20 if age 18 else語法 表示式1 表示式2 表示式3 如果表示式1的布林值為true,則執行表示式2,否則執行表示式3。是js語言中唯一乙個需要三個運算元的運算子。示例 var age ...

條件判斷語句

條件判斷語句 使用條件判斷語句可以在執行某個語句之前進行判斷,如果條件成立才會執行語句,條件不成立則語句不執行。if語句 語法一 if 條件表示式 if語句在執行時,會先對條件表示式進行求值判斷,如果條件表示式的值為true,則執行if後的語句,如果條件表示式的值為false,則不會執行if後的語句...