布爾運算
學習循環之前,先了解一個概念:布爾運算
布爾運算是數字符號化的邏輯推演法,包括聯合、相交、相減。在圖形處理操作中引用了這種邏輯運算方法以使簡單的基本圖形組合產生新的形體,並由二維布爾運算發展到三維圖形的布爾運算。
由於布爾在符號邏輯運算中的特殊貢獻,很多計算機語言中將邏輯運算稱為布爾運算,將其結果稱為布爾值。
以上轉自百度百科
計算機編程布爾運算:
邏輯運算通常用來測試真假值。最常見到的邏輯運算就是循環的處理,用來判斷是否該離開循環或繼續執行循環內的指令。
Python比較運算符
假設表內變量a = 10, b = 20
運算符 | 描述 | 實例 |
== | 等於-比較對象是否相等 | a == b 返回 False |
!= | 不等於-比較對象是否不相等 | a != b 返回 True |
> | 大於-返回x是否大於y | a > b 返回 False |
< | 小於-返回x是否小於y | a < b 返回 True |
>= | 大於等於-返回x是否大於等於y | a >= b 返回 False |
<= | 小於等於-返回x是否小於等於y | a <= b 返回 True |
所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。
Python邏輯運算符
假設表內變量a = 10, b = 20
運算符 | 邏輯表達式 | 描述 | 實例 |
and | x and y | 布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。 | a and b 返回 20 |
or | x or y | 布爾"或" - 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計算值。 | a or b 返回 10 |
not | not x | 布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。 | not(a and b) 返回 False |
此外,還有以下運算輸出布爾值,分別是成員運算以及身份運算:
Python成員運算符
運算符 | 描述 | 實例 |
in | 如果在指定的序列中找到值返回 True,否則返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中沒有找到值返回 True,否則返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
Python身份運算符
運算符 | 描述 | 實例 |
is | is 是判斷兩個標識符是不是引用自一個對象 | x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True,否則返回 False |
is not | is not 是判斷兩個標識符是不是引用自不同對象 | x is not y , 類似 id(a) != id(b)。如果引用的不是同一個對象則返回結果 True,否則返回 False |
以上這些運算類型都是用來得到布爾值的。那么布爾值True和False有什么用呢?
條件語句
Python條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的代碼塊。
Python 編程中 if 語句用於控制程序的執行,其結構形式為:
if 條件: 代碼塊 else: 代碼塊
其中"條件"成立時(非零),則執行后面的語句,而執行內容可以多行,以縮進來區分表示同一范圍。
else 為可選語句,當需要在條件不成立時執行內容則可以執行相關語句。
示例如下:
name = "John" if name == "John": print("Welcome back, Boss!") else: print("User name is incorrect!")
結果
Welcome back, Boss!
if 語句的判斷條件可以用>(大於)、<(小於)、==(等於)、>=(大於等於)、<=(小於等於)來表示其關系。
當判斷條件為多個值時,可以使用以下形式:
if 條件1: 代碼塊1…… elif 條件2: 代碼塊2…… elif 條件3: 代碼塊3…… else: 代碼塊4……
實例如下:
a = "q" if a = "l": print("Login") elif a = "c": print("Check") elif a = "d" print("Delete") elif a = "u": print("Update") elif a = "i": print("Insert") else: print("Quit")
運行結果
Quit
如果判斷需要多個條件需同時判斷時,可以使用 or (或),表示兩個條件有一個成立時判斷條件成功;使用 and (與)時,表示只有兩個條件同時成立的情況下,判斷條件才成功。
如:
name = "John" password = "985" if name == "John" and password == "456": print("Login successful!) else: print("Incorrect name or password!")
運行結果
Incorrect name or password!
重頭戲來了,python循環。python循環有2個語句,一個是while,一個是for。
while循環
Python 編程中 while 語句用於循環執行程序,即在某條件下,循環執行某段程序,以處理需要重復處理的相同任務。其基本形式為:
while 判斷條件: 執行語句……
執行語句可以是單個語句或語句塊。判斷條件可以是任何表達式,任何非零、或非空(null)的值均為true。當判斷條件為false時,循環結束。
a = 1 while a < 10: print(a) a += 2
結果
1 3 5 7 9
無限循環
如果條件判斷語句永遠為 true,循環將會無限的執行下去,如下實例:
age = input("Age: ") while True: if age == "18": print("Bingo!") elif age < "18": print("Too young!") else: print("Too old!")
結果:無論輸入任何值,都會無限輸出該條件下的語句。如何結束呢?這里介紹2個語句:break和continue
break用於跳出循環
continue用於跳過該次循環
i = 1 while i < 10: i += 1 if i%2 > 0: # 非雙數時跳過輸出 continue print i # 輸出雙數2、4、6、8、10 i = 1 while 1: # 循環條件為1必定成立 print i # 輸出1~10 i += 1 if i > 10: # 當i大於10時跳出循環 break
循環使用else語句
在 python 中,while … else 在循環條件為 false 時執行 else 語句塊:
count = 0 while count < 5: print count, " is less than 5" count = count + 1 else: print count, " is not less than 5"
以上實例輸出結果為:
0 is less than 5 1 is less than 5 2 is less than 5 3 is less than 5 4 is less than 5 5 is not less than 5
for循環語句
Python for循環可以遍歷任何序列的項目,如一個列表或者一個字符串。
for循環的語法格式如下:
for iterating_var in sequence: statements(s)
for letter in 'Python': # 第一個實例 print '當前字母 :', letter
結果:
當前字母 : P 當前字母 : y 當前字母 : t 當前字母 : h 當前字母 : o 當前字母 : n
循環使用 else 語句
在 python 中,for … else 表示這樣的意思,for 中的語句和普通的沒有區別,else 中的語句會在循環正常執行完(即 for 不是通過 break 跳出而中斷的)的情況下執行,while … else 也是一樣。
for n in range(10, 20): for i in range(2, n): if n % i == 0: print('%d是一個整數' %n) break else: print(n, '是一個質數')
結果
10是一個整數 11 是一個質數 12是一個整數 13 是一個質數 14是一個整數 15是一個整數 16是一個整數 17 是一個質數 18是一個整數 19 是一個質數