python三种基本控制结构_Python学习手册之控制结构(一)
在上一篇文章中,我們對 Python 進行了簡單介紹和介紹了 Python 的基本語法,現在我們繼續介紹 Python 控制結構。
查看上一篇文章請點擊:https://www.cnblogs.com/dustman/p/9966048.html
布爾比較
布爾
Python 有許多種數據類型,其中一種類型叫布爾,英文表示為 Boolean。它包含兩個值:True 和 False。
有兩種方式可以聲明數據類型是布爾型。一種是直接聲明,另外一種是通過值比較產生,比如等于運算符==。
>>> boolean =True>>>boolean
True>>> 1 == 2False>>> ‘me‘ == ‘me‘True
小心不要混淆了賦值運算符 = 和等于比較運算符 ==。
比較
另外一個比較運算符是不等于運算符 !=,如果兩個值不相等返回True,否則返回 False。
>>> 1 != 1False>>> 1 != 2True>>> "day" != "today"True
我們還可以通過運算符來比較一種數是大于或小于另外一個數。他們是 > 和 < 運算符。
>>> 10 > 11False>>> 7 < 10True
在 Python 里還有大于或等于 >= 和小于或等于 <= 運算符。
它們與大于或小于運算符相同,只不過當兩邊值相等時,它們返回 True。
>>> 10 > 11False>>> 7 < 10True
大于或小于運算符也可用于比較字符串(單詞的順序就是它字的順序,每一個字在計算里對應一個數字)。
if語句
if條件判斷
空白區在 Python 中十分重要。實際上,空白區在各行的開頭非常重要。這被稱作縮進(Indentation)在行的開頭留下空白區(使用空格和制表符)用以確定各行的縮進級別,而縮進級別又用于確定語句的分組。
這意味著相同條件的語句必須擁有相同的縮進,每一組這樣的語句被稱為塊(block)。
我們使用 if 語句實現條件判斷。根據 Python 的縮進規則,如果 if 語句的表達式計算結果為 True 那么縮進的代碼塊被執行了,否則縮進的代碼塊不會被執行。
ifname:
sex
錯誤的縮進會導致程序錯誤或發生你不期望的結果。
下面是 if 聲明的例子:
if 10 < 20:print("10 smaller than 20")print("end")
表達式先判斷 10 是否小于 20, 其運算結果為真,接下來運行縮進的那部分代碼輸出“10 smaller than 20”。然后運行不是 if 聲明的那部分,也就是未縮進的那部分輸出“end”。
>>>
10 smaller than 20end>>>
注意 if聲明里的比較運算表達式需要冒號來結束。
如果程序包含多行代碼,你應該將其創建一個文件并保存代碼。在命令行下使用 python file name 來運行它。
我們經常會遇到比較復雜的判斷條件,if 條件判斷可以嵌套在 if 條件判斷里。
也就是說內部的 if 條件判斷是外部 if 條件判斷的一部分嗎,這樣我們就能滿足支持多種情況的條件判斷。
num = 10
if num > 6:print("Bigger than 6")if num <= 40:print("Between 6 and 40")
運行結果:
>>>Bigger than6Between6 and 40
>>>
else語句
如果一個包含 else 語句的 if 條件判斷,當 if 條件的判斷值為 False 時,運行 else 里的語句。
像 if 語句一樣,else 語句的代碼也必須縮進。
x = 5
if x == 5:print("Yes")else:print("No")
運行結果:
>>>Yes>>>
else 語句也必須像 if 語句一樣后面跟著冒號:。
我們可以嵌套 if 和 else 語句來判斷哪個表達式是真的。
num = 4
if num == 5:print("Number is 5")else:if num == 10:print("Number is 10")else:if num == 4:print("Number is 4")else:print("Number isn‘t 4,5 or 10")
運行結果:
>>>Numberis 4
>>>
elif語句
elif 語句是else if 的縮寫,主要用于多重判斷的語句。
if elif 多重判斷語句最后可以放置 else 語句,當前面if elif 多重判斷語句最終無法在所有的分支上得出結果為 True 情況下,程序運行else語句。
num = 4
if num == 5:print("Number is 5")elif num == 10:print("Number is 10")elif num == 4:print("Number is 4")else:print("Number isn‘t 4,5 or 10")
運行結果:
>>>Numberis 4
>>>
if 語句執行有個特點,它是從上往下判斷,如果在某個判斷上是 True,則把該判斷對應的語句執行后就忽略掉剩下的 elif 和 else。
在其他語言里elif 語句有不同的語法變化,比如 else if,elseif或elsif。
布爾邏輯判斷
布爾邏輯判斷用于為依賴于多個條件的if語句創造更復雜的條件。
Python 布爾邏輯運算符包含 and、or 和 not。
and 運算符評估其運算符兩邊的結果,如果兩邊返回結果都是 True則返回 True,否則返回 False 。
>>> 1 == 1 and 2 == 2True>>> 1 == 1 and 1 == 2False>>> 1 != 1 and 2 == 2False>>> 1 > 2 and 2 < 3False
Python 使用上面三個單詞作為布爾邏輯運算符,其它語言使用符號 &&、|| 和 !。
or 運算符
or 運算符評估其運算符兩邊的結果,如果有其中一邊運算的結果為 True 則返回 True,如果兩邊的結果都為 False 返回 False。
>>> 1 == 1 or 2 == 2True>>> 1 == 1 or 1 == 2True>>> 1 != 1 or 2 == 2True>>> 1 > 2 or 3 < 1False
Not 運算符
不像前面的兩個運算符,not 只評估其右邊的運算結果并返回相反的結果。not True 返回 False, not False 變成 True。
>>> not 1 != 1True>>> not 1 < 7False
我們可以在 if 判斷里使用多個布爾邏輯運算符來處理多個條件判斷。
運算優先級
運算優先次序是程序里比較重要的概念。
它是數學里運算順序(比如:乘法優先于加法等)的體現和擴展。Python 的運算優先級包括其他的一些運算符,如布爾邏輯運算符。
下面代碼顯示 -- 運算符優先級高于 or 運算符。
>>> True or False ==False
True>>> (True or False) ==False
False>>> True or (False ==False)
True
Python 的運算順序與普通數學的順序相同:首先是括號,然后是指數,接著是乘除法,最后加減法。
下面的表格表示Python里有高到低的運算優先級。
下面代碼會輸出什么?
x = 2y= 4
if not 1 + 3 == y or x == 2 and 3 == 4:print("Yes")elif x
運行結果:
>>>No>>>
while 循環
我們看到if 語句只運行一次當它的條件判斷為 True,當條件判斷為 False 不會運行其塊里的代碼。
如果我們需要重復執行一個動作那么就需要 while 循環語句。當其條件判斷為 True 它重復執行其代碼塊,而當條件判斷為 False 時它不再執行其代碼塊,while 語句塊下一部分的代碼將被執行。
下面代碼實例表明 x 變量從1加到5后退出代碼塊后輸出"Finished!"。
x = 1
while x <= 5:print(x)
x+= 1
print("Finished!")
運行結果:
>>>
1
2
3
4
5Finished!>>>
代碼塊在 while 語句里重復執行,在計算機里我們叫它循環。
在 while 循環里,如果條件判斷永遠為 True 它將永遠不會停止,我們稱其為無限循環。
whileTrue:print("loop...")
上面代碼永不停息地打印出"loop..."。
遇到這種情況,我們可以使用Ctrl+C 快捷鍵來關閉這程序的運行。(針對命令行)
break 語句
如果需要在代碼塊里跳出 while 循環,可以使用 break 語句。當在循環中遇到 break 語句,循環立即跳出 while 循環語句。
i =0whileTrue:print(i)
i+= 1
if i >= 5:print("Breaking")break
print("Finished!")
運行結果:
>>>01
2
3
4Breaking
Finished!>>>
注意:在循環外面使用 break 語句將會導致錯誤發生。
下面代碼打印變量3次
i = 5
whileTrue:print(i)
i-= 1
if i <= 2:break
運行結果:
>>>
5
4
3
>>>
continue 語句
循環里面我們還可以使用 continue 語句。
不像 break 跳出整個循環并停止執行循環代碼塊,continue 語句停止執行循環代碼塊下面的部分并重新開始執行循環代碼塊。
i =0whileTrue:
i+= 1
if i == 2:print("Skipping 2")continue
if i == 6:print("Breaking")break
print(i)print("Finished")
運行結果:
>>>
1Skipping2
3
4
5Breaking
Finished>>>
continue 語句的作用是停止當前的循環并執行下一個循環。
在循環外面使用 continue 語句將會導致錯誤發生。
“小學課本上有一篇文章,叫小馬過河,小馬要過河,老馬說河水非常淺,松鼠說河水深不見底,小馬站在河前面進退兩難,面對著即將要淌過四年的河,我突然覺得,如果你不得不過河,那么水深水淺,對你來說還重要么”——路橋川 《一起同過窗》
原文地址:https://www.cnblogs.com/dustman/p/9972078.html
總結
以上是生活随笔為你收集整理的python三种基本控制结构_Python学习手册之控制结构(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wxpython界面切换_Python图
- 下一篇: flask-mail异步发送邮件_.NE