【Python基础入门系列】第04天:Python 流程控制
在編程的世界中,流程控制是程序員運(yùn)行的基礎(chǔ),流程控制決定了程序按照什么樣的方式去執(zhí)行,本節(jié)給大家介紹 Python 流程控制相關(guān)語法。
if 語句
if 語句表示如何發(fā)生什么樣的條件,執(zhí)行什么樣的邏輯。
Python程序語言指定任何非0和非空(null)值為true,0 或者 null為false。
1)單一分支
if?條件表達(dá)式:【代碼塊】 【后續(xù)代碼】 執(zhí)行流程:如果條件表達(dá)式為真,則執(zhí)行【代碼塊】。否則不執(zhí)行,直接執(zhí)行if語句后面的【后續(xù)代碼】 注意:【代碼塊】必須縮進(jìn)單if語句可以嵌套2) 雙向分支
if?條件表達(dá)式:【語句塊A】 else:【語句塊B】 【后續(xù)代碼】 執(zhí)行流程:如果條件表達(dá)式為真,執(zhí)行【語句塊A】然后執(zhí)行【后續(xù)代碼】,否則執(zhí)行【語句塊B】,然后再執(zhí)行【后續(xù)代碼】,二選一,不可能既執(zhí)行A有執(zhí)行B 注意:【語句塊A】和【語句塊B】必須縮進(jìn)if-else可以嵌套3)多向條件分支
if?條件1:【代碼段1】 elif?條件2:【代碼段2】 ............ elif?條件n: 【代碼段n】 else:【else語句塊】 【后續(xù)代碼】 執(zhí)行流程:多選一,如果滿足條件1,執(zhí)行【代碼段1】,然后跳出if-elif語句,執(zhí)行【后續(xù)代碼】,否則判斷是否滿足條件2,如果滿足執(zhí)行【代碼段2】,然后跳出if-elif語句,執(zhí)行【后續(xù)代碼】...。如果所有條件都不滿足,執(zhí)行【else語句塊】,然后再執(zhí)行【后續(xù)代碼】。 注意:else是可選的,可以寫也可以不寫。示例:
x = int(input("Please enter an integer: "))x = -5 if x < 0:x = 0print('Negative changed to zero') elif x == 0:print('Zero') elif x == 1:print('Single') else:print('More')可能會有零到多個 elif 部分,else 是可選的。關(guān)鍵字 ‘elif’ 是 ’else if’ 的縮寫,這個可以有效地避免過深的縮進(jìn)。if … elif … elif … 序列用于替代其它語言中的 switch 或 case 語句。
for 循環(huán)
Python for 循環(huán)可以遍歷任何序列的項(xiàng)目,如一個 列表 或者一個 字符串。
語法:
for 循環(huán)的語法格式如下:
'''
for 后跟變量名,in 后跟序列,注意加冒號
for 循環(huán)每次從序列中取一個值放到變量中
此處的序列主要指 列表 元組 字符串 文件
'''
for iterating_var in sequence:
statements(s)
示例如下:
for letter in 'Python': # 第一個實(shí)例print('當(dāng)前字母 :', letter)fruits = ['banana', 'apple', 'mango']for fruit in fruits: # 第二個實(shí)例print('當(dāng)前字母 :', fruit)print("Good bye!")也可以通過索引地址來遍歷內(nèi)容
fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)):print('當(dāng)前水果 :', fruits[index])print("Good bye!")循環(huán)概念
廣義:一個周期現(xiàn)象或者重復(fù)出現(xiàn)的情況,這種狀態(tài)被稱為循環(huán)
狹義:在滿足條件的情況下,反復(fù)執(zhí)行某一段代碼,在編程語言中出現(xiàn)的這種現(xiàn)象被稱為循環(huán)。被反復(fù)執(zhí)行的這段代碼被稱為循環(huán)體
當(dāng)反復(fù)執(zhí)行某段代碼時,需要在合適的時機(jī)將循環(huán)停止下來,否則會產(chǎn)生死循環(huán)
Python中提供的循環(huán)語句:while語句,for-in語句
?
while的使用
1 while語法
while 表達(dá)式:循環(huán)體工作原理:遇到while語句時,首先計(jì)算表達(dá)式的值,如果表達(dá)式的值為假,則跳過整個while語句,繼續(xù)執(zhí)行下面的代碼;如果表達(dá)式的值為真,則執(zhí)行循環(huán)體
2 while-else
while 表達(dá)式: 循環(huán)體 else:【else語句塊】說明:當(dāng)while語句執(zhí)行完成之后,執(zhí)行【else語句塊】,如果用break跳出循環(huán)則不執(zhí)行else
3 死循環(huán)
在循環(huán)語句中,表達(dá)式永遠(yuǎn)為真的循環(huán)
while?True: #循環(huán)體while?1: #循環(huán)體4 while語句的嵌套
while 條件1:? ? #外層循環(huán)【語句塊A】while 條件2:? #內(nèi)存循環(huán) 【語句B】執(zhí)行流程:首先判斷外層循環(huán)的條件1,如果為真,則執(zhí)行循環(huán)體中的【語句塊A】,執(zhí)行內(nèi)層循環(huán),判斷條件2是否成立,如果成立,執(zhí)行內(nèi)層循環(huán)的【語句塊B】,執(zhí)行完內(nèi)層循環(huán)后,重新判斷外層循環(huán)條件....
-
特點(diǎn):外層循環(huán)走一步,內(nèi)層循環(huán)執(zhí)行一遍
-
外層循環(huán)和內(nèi)層循環(huán)的循環(huán)變量必須不同
語法:
while 判斷條件:
執(zhí)行語句……
示例:
count = 0 while (count < 9):print( 'The count is:', count)count = count + 1print("Good bye!")?
也可以在 while 循環(huán)中添加判斷邏輯
count = 0 while count < 5:print(count, " is less than 6")count = count + 1 else:print(count, " is not less than 6")?
range() 函數(shù)
如果你需要一個數(shù)值序列,內(nèi)置函數(shù) range() 會很方便,它生成一個等差級數(shù)鏈表:
語法:
range (start, end, scan):
參數(shù)含義:
-
start:計(jì)數(shù)從 start 開始。默認(rèn)是從 0 開始。例如 range(5) 等價于 range(0, 5);
-
end:計(jì)數(shù)到 end 結(jié)束,但不包括 end.例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有 5
-
scan:每次跳躍的間距,默認(rèn)為1。例如:range(0, 5) 等價于 range(0, 5, 1)
示例:
for i in range(6):print(i) print(range(6),'finish')for i in range(6,10):print(i) print(range(6,10),'finish')for i in range(6,12,2):print(i) print(range(6,12,2),'finish')需要迭代鏈表索引的話,如下所示結(jié)合使 用 range() 和 len():
a = ['i', 'love', 'coding', 'and', 'free'] for i in range(len(a)):print(i, a[i])break 用法和continue、pass
break用于結(jié)束當(dāng)前循環(huán)。只對當(dāng)前這一重循環(huán)起作用。break只能出現(xiàn)在循環(huán)中。
break示例:
for letter in 'ityouknow': # 第一個實(shí)例if letter == 'n': # 字母為 n 時中斷breakprint ('當(dāng)前字母 :', letter)?
continue 語句用來跳過當(dāng)前循環(huán)的剩余語句,然后重新判斷循環(huán)條件,開啟下一輪循環(huán)。continue只能出現(xiàn)在while和for循環(huán)中
continue??示例:
for letter in 'ityouknow': # 第一個實(shí)例 if letter == 'n': # 字母為 n 時跳過輸出continueprint ('當(dāng)前字母 :', letter)?
pass?示例:
while True:
pass # Busy-wait for keyboard interrupt (Ctrl+C)
# 這通常用于創(chuàng)建最小結(jié)構(gòu)的類:
class MyEmptyClass:
pass
總結(jié)
本節(jié)給大家介紹了 Python 語法中的流程控制相關(guān)語法,方便后期在代碼邏輯中進(jìn)行條件控制,留一個小問題,試著去用循環(huán)打印一下九九乘法表,答案下期揭曉。
參考:
http://www.pythondoc.com/pythontutorial3
https://www.runoob.com/python3/python3-tutorial.html
總結(jié)
以上是生活随笔為你收集整理的【Python基础入门系列】第04天:Python 流程控制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关闭Windows10 易升
- 下一篇: python爬取微信运动_用 Pytho