Python 魔法書/06.If
您已經遇到過在英語中大量使用的詞語if。如果您從頭開始閱讀本書,您可能已經遇到過這個短語。if在 Python 中的作用與英語中的 (if) 一樣。
例如
如果我完成了高中,我就去上大學。
我們有英語中使用的If,之後是一個條件(帶下劃線)。這個條件將決定學習者是否會上大學。
假設學習者無法完成高中。學習者將不會上大學。想象一下沒有if的句子,句子將毫無意義。這就是if在 Python 中的用處。
大多數時間都花在建立條件上,這將涉及邏輯表示式和一些運算子。
if 語句定義
if condition:
statement1
statement2
statement3
e.t.c
語句是在滿足條件時執行的那些東西。冒號(:) 用於縮排目的(記住 Python 是縮排語言)。
就像我說的,條件是使用邏輯(就像數學中的機率)和表示式(用於數學中比較 LHS 和 RHS)建立的。即使您從未上過數學課,您仍然會發現學習它們很容易。
表示式用於比較兩件事。也許比較兩個變數、數字或 Python 中的任何東西。它們的輸出將是 True 或 False。如果輸出為 True,則將執行條件。
一些使用的運算子是。
== - check if Left Hand Side(LHS)
is equal to RHS.
=! - check if LHS in not equak to RHS
< - checks if LHS is less than RHS
> - do oposite of (<)
<= - check if LHS is less than or equal to
RHS
>= - opposes ( <= )
示例 01
a = 3
b = 3
if a == b:
Print('correct')
a == b
輸出
correct
True
讓我們更改 a 的值
a = 10
b = 3
if a == b:
Print('correct')
輸出
.
那麼為什麼正確沒有列印在螢幕上。請記住,條件沒有完成。因為 a 的值與 b 的值不同。但是,如果您希望在條件未完成時執行某些操作怎麼辦?
此時,我們需要使用另一個稱為else的語句。
示例 02
a = 10
b = 3
if a == b:
Print('correct')
else:
print('wrong')
輸出
wrong
else 下面的程式碼將僅在 if 語句中的條件未完成時執行。如果我想使用多個 if 語句來增加程式碼執行的機會怎麼辦?
示例 03
a = 5
b = 12
if a == b:
Print('Equal')
elif a < b:
print('a less than b')
elif a > b:
print('a greater than b')
else:
print('none correct')
輸出
a less than b
您不僅限於執行簡單的操作,例如在螢幕上列印文字。您可以定義函式、建立變數、解決涉及數字的問題或進行 Python 可以做的任何事情。
邏輯是包含或排除正在發生或將要發生的事件的方式。事件可以是發生的任何事情,例如死亡、贏得比賽或新增數字。
一些邏輯運算子是
A and B - include both event A or B - include either A or B not A - A not included not B - B not include
我知道你不會明白上面這些東西的含義。讓我們使用 True 和 False 來代替 A 和 B。
示例 04(and)
A = True
B= False
A and B
B and B
A and A
輸出
False
False
True
第一行檢查 A 和 B 是否為真。如果它們都為真。它返回真,否則返回假。我們的輸出為假,因為 A 和 B 都不為真。
第二行檢查 B 和 B 是否為真。如果它們為真,它返回真,否則返回假。輸出為假,因為 B 和 B 都為假。
第三行檢查 A 和 A 是否為真。如果 A 和 A 都為真,則返回真,否則如果其中一個或兩個為假,則返回假。輸出為真,因為 A 和 A 都為真。
示例 05(or)
A = True
B= False
A or B
B or B
A or A
輸出
True
False
True
在or中,如果其中一個輸出(A 或 B)為真,則返回真。研究下面的示例以獲取更多資訊。
示例 06(not)
A = True
B= False
not B
not (A and B)
not A
輸出
True
True
False
not將真變為假,將假變為真。檢視第 1 行和第 2 行以觀察這一點。第 2 行有點難,因為not和and的組合。首先,您需要獲得A and B的輸出,即真。然後透過將輸出(真)更改為其相反(假)來應用<n>not</n>。
為了建立一個強大的條件,您需要將邏輯閘和表示式組合成一個工作工具。我認為您已經意識到,表示式和邏輯的輸出都是真或假。我們可以使用表示式而不是將 A 和 B 傳遞到邏輯中。
示例 07
Num= [23, 'kevin, 45]
a='john'
if kevin in Num and a == 'marry':
print('logic')
else:
print('stop guessing')
輸出
stop guessing
哦,為什麼它運行了 else 語句,而 kevin 在 Num 列表中?請注意and在條件中使用。這意味著如果 kevin 在 Num 列表中,並且如果 a 等於 marry,那麼條件將滿足,因為條件的輸出將為真。(記住條件應該返回真或假)。如果條件的輸出為假,則不滿足條件,導致if下面的語句不執行。
習慣邏輯和表示式,它們在建立圖形使用者介面(有時稱為 gooey (GUI))時將非常有用。