【Python】Python - Python If ... Else.
【Python】Python - Python If ... Else.
Python可以執行運算中的邏輯判斷:
- 是否相等: a == b
- 是否不相等: a != b
- 小於: a < b
- 小於或等於: a <= b
- 大於: a > b
- 大於或等於: a >= b
這些判斷可以在許多地方上使用,大部分使用在"if statements"與迴圈。
一個"if statement"使用if keyword.
範例
If statement:
a = 33
b = 200
if b > a:
print("b is greater than a")
上面輸出: b is greater than a
在這個範例中我們使用2個變數的範例a與b,使用在if statement中去測試b是否大於a,當a=33而b=200所以我們知道200是大於33的,所以我們會執行到列印的部分,會把print()中的文字顯示在畫面中。
縮排(Indentation)
python使用縮排(在行開始前面塞空白,不可為tab)來定義程式碼的區塊。其他程式語言通常使用大括弧。
範例
如果使用If statement但卻沒有縮排 (將會有錯誤訊息):
a = 33
b = 200
if b > a:
print("b is greater than a") # you will get an error
File "test_if_error.py", line 4 print("b is greater than a") ^IndentationError: expected an indented block
Elif
The elif keyword 使用python的說法意思是“如果前面的狀況不真,則測試這個狀況”。
範例
a = 33
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
上面輸出:a and b are equal
這個範例a相等於b,所以第一個狀況不為真,但elif的狀況為真,所以我們會列印"a and b are equal"。
Else
The else keyword 會捕捉前面所有不真的情況。
範例
a = 200
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")
上面列印:a is greater than b
上面的範例a>b,所以第一個情況不為真,且elif的情況也不為真,所以我們走到else的狀況,並執行列印這些文字到螢幕上。
你也能在沒有出現elif的情況單獨的使用else:
範例
a = 200
b = 33
if b > a:
print("b is greater than a")
else:
print("b is not greater than a")
上面列印:b is not greater than a
短寫的If
如果只有1個statement要執行,你可以放在與if同一行內。
範例
一行的 if statement:
if a > b: print("a is greater than b")
上面輸出: "a is greater than b"
短寫的If ... Else
如果只有1個statement要執行,一個為 if的,另一個為else,可以將這些放在同一行:
範例
只有1行的if else statement:
a = 2
b = 330
print("A") if a > b else print("B")
上面輸出: "B"
這個技巧稱為三元運算子(Ternary Operators)與條件表達式(Conditional Expressions)。
可以有多個else statements在同一行:
範例
下面的範例只有一行的if else,但有3個情況:
a = 330
b = 330
print("A") if a > b else print("=") if a == b else print("B")
上面輸出: =
且(And)
and keyword是個邏輯操作子,使用在與條件陳述式結合:
範例
測試是否a大於b,且是否c大於a:
a = 200
b = 33
c = 500
if a > b and c > a:
print("Both conditions are True")
上面輸出: Both conditions are True
或(Or)
or keyword是個邏輯操作子,使用在與條件陳述式結合:
範例
測試是否a大於b,或者是否a大於c:
a = 200
b = 33
c = 500
if a > b or a > c:
print("At least one of the conditions is True")
上面輸出: At least one of the conditions is True
巢狀的 If
如果在if 陳述式裡面又有if陳述式,這個稱為巢狀if陳述式。
範例
x = 41
if x > 10:
print("Above ten,")
if x > 20:
print("and also above 20!")
else:
print("but not above 20.")
上面輸出:
Above ten,
and also above 20!
pass 陳述式
pass statement去避免錯誤訊息。if
statements 不可為空,但如果因為某些原因要讓if內沒有內容,需要放入
範例
a = 33
b = 200
if b > a:
pass
上面會執行到pass那段
留言
張貼留言