Python3基礎(chǔ)之條件與循環(huán)控制實(shí)例解析
本文實(shí)例形式講解了Python3的條件與循環(huán)控制語句及其用法,是學(xué)習(xí)Python所必須掌握的重要知識點(diǎn),現(xiàn)共享給大家供大家參考。具體如下:
一般來說Python的流程控制語句包括:if條件語句、while循環(huán)語句、for循環(huán)語句、range函數(shù)以及break、continue、pass控制語句。這些語句在Python中的語義和在其他語言中基本是一樣的,所以這里就只說它們的用法。
一、if語句
if語句是最常用的條件控制語句,Python中的一般形式為:
if 條件一: statements elif 條件二: statements else: statements
實(shí)例
if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3
如果 "condition_1" 為 True 將執(zhí)行 "statement_block_1" 塊語句
如果 "condition_1" 為False,將判斷 "condition_2"
如果"condition_2" 為 True 將執(zhí)行 "statement_block_2" 塊語句
如果 "condition_2" 為False,將執(zhí)行"statement_block_3"塊語句
Python中用elif
代替了else if,所以if語句的關(guān)鍵字為:if – elif – else。
注意:
1、每個(gè)條件后面要使用冒號(:),表示接下來是滿足條件后要執(zhí)行的語句塊。
2、使用縮進(jìn)來劃分語句塊,相同縮進(jìn)數(shù)的語句在一起組成一個(gè)語句塊。
3、在Python中沒有switch – case語句。
示例代碼如下:
x = int(input("Please enter an integer: ")) if x < 0: print('Negative.') elif x == 0: print('Zero.') else: print('Positive.')
實(shí)例
以下是一個(gè)簡單的 if 實(shí)例:
#!/usr/bin/python3 var1 = 100 if var1: print ("1 - if 表達(dá)式條件為 true") print (var1) var2 = 0 if var2: print ("2 - if 表達(dá)式條件為 true") print (var2) print ("Good bye!")
執(zhí)行以上代碼,輸出結(jié)果為:
1 - if 表達(dá)式條件為 true
100
Good bye!
從結(jié)果可以看到由于變量 var2 為 0,所以對應(yīng)的 if 內(nèi)的語句沒有執(zhí)行。
以下實(shí)例演示了狗的年齡計(jì)算判斷:
#!/usr/bin/python3 age = int(input("請輸入你家狗狗的年齡: ")) print("") if age < 0: print("你是在逗我吧!") elif age == 1: print("相當(dāng)于 14 歲的人。") elif age == 2: print("相當(dāng)于 22 歲的人。") elif age > 2: human = 22 + (age -2)*5 print("對應(yīng)人類年齡: ", human) ### 退出提示 input("點(diǎn)擊 enter 鍵退出")
將以上腳本保存在dog.py文件中,并執(zhí)行該腳本:
$ python3 dog.py
請輸入你家狗狗的年齡: 1相當(dāng)于 14 歲的人。
點(diǎn)擊 enter 鍵退出
以下為if中常用的操作運(yùn)算符:
操作符 | 描述 |
---|---|
< | 小于 |
<= | 小于或等于 |
> | 大于 |
>= | 大于或等于 |
== | 等于,比較對象是否相等 |
!= | 不等于 |
實(shí)例
#!/usr/bin/python3 # 程序演示了 == 操作符 # 使用數(shù)字 print(5 == 6) # 使用變量 x = 5 y = 8 print(x == y)
以上實(shí)例輸出結(jié)果:
False
False
high_low.py文件演示了數(shù)字的比較運(yùn)算:
實(shí)例
#!/usr/bin/python3 # 該實(shí)例演示了數(shù)字猜謎游戲 number = 7 guess = -1 print("數(shù)字猜謎游戲!") while guess != number: guess = int(input("請輸入你猜的數(shù)字:")) if guess == number: print("恭喜,你猜對了!") elif guess < number: print("猜的數(shù)字小了...") elif guess > number: print("猜的數(shù)字大了...")
執(zhí)行以上腳本,實(shí)例輸出結(jié)果如下:
$ python3 high_low.py
數(shù)字猜謎游戲!
請輸入你猜的數(shù)字:1
猜的數(shù)字小了...
請輸入你猜的數(shù)字:9
猜的數(shù)字大了...
請輸入你猜的數(shù)字:7
恭喜,你猜對了!
if 嵌套
在嵌套 if 語句中,可以把 if...elif...else 結(jié)構(gòu)放在另外一個(gè) if...elif...else 結(jié)構(gòu)中。
if 表達(dá)式1: 語句 if 表達(dá)式2: 語句 elif 表達(dá)式3: 語句 else: 語句 elif 表達(dá)式4: 語句 else: 語句
實(shí)例
# !/usr/bin/python3 num=int(input("輸入一個(gè)數(shù)字:")) if num%2==0: if num%3==0: print ("你輸入的數(shù)字可以整除 2 和 3") else: print ("你輸入的數(shù)字可以整除 2,但不能整除 3") else: if num%3==0: print ("你輸入的數(shù)字可以整除 3,但不能整除 2") else: print ("你輸入的數(shù)字不能整除 2 和 3")
將以上程序保存到 test_if.py 文件中,執(zhí)行后輸出結(jié)果為:
$ python3 test.py
輸入一個(gè)數(shù)字:6
你輸入的數(shù)字可以整除 2 和 3
二、while語句
Python中while語句的一般形式:
while 判斷條件: statements
同樣需要注意冒號和縮進(jìn)。另外,在Python中沒有do..while循環(huán)。
示例代碼如下:
a, b = 0, 1 while b < 10: # 循環(huán)輸出斐波納契數(shù)列 print(b) a, b = b, a+b
三、for語句
Python中的for語句與C語言中的for語句有點(diǎn)不同:C語言中的for語句允許用戶自定義迭代步驟和終止條件;而Python的for語句可以遍歷任何序列(sequence),按照元素在序列中的出現(xiàn)順序依次迭代。一般形式為:
for variable in sequence: statements else: statements
示例代碼如下:
words = ['cat','love','apple','python','friends'] for item in words: print(item, len(item))
如果你需要在循環(huán)體內(nèi)修改你正迭代的序列,你最好是制作一個(gè)副本,這時(shí)切片標(biāo)記就非常有用了:
words = ['cat','love','apple','python','friends'] for item in words[:]: # 制作整個(gè)列表的切片副本 if len(item) >= 6: words.insert(0, item) print(words)
我們注意到循環(huán)語句中還可以使用else子句,下面第五點(diǎn)有講到。
四、range函數(shù)
如果你要遍歷一個(gè)數(shù)字序列,那么內(nèi)置的range()函數(shù)就可以派上用場了。函數(shù)range()常用于for循環(huán)中,用于產(chǎn)生一個(gè)算術(shù)數(shù)列:
>>> list(range(10)) # 默認(rèn)從0開始 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(1, 11)) # 從1到11,前閉后開 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> list(range(0, 30, 5)) # 5表示步長,每隔5取一個(gè)數(shù) [0, 5, 10, 15, 20, 25]
示例代碼如下:
for i in range(2, 11): print(i)
五、break、continue、pass及else子句
①.break
break語句與C語言中的一樣,跳出最近的for或while循環(huán)。
②.continue
continue語句同樣是從 C 語言借用的, 它終止當(dāng)前迭代而進(jìn)行循環(huán)的下一次迭代。
③.pass
pass語句什么都不做,它只在語法上需要一條語句但程序不需要任何操作時(shí)使用。pass語句是為了保持程序結(jié)構(gòu)的完整性。
④.else子句
在循環(huán)語句中還可以使用else子句,else子句在序列遍歷結(jié)束(for語句)或循環(huán)條件為假(while語句)時(shí)執(zhí)行,但循環(huán)被break終止時(shí)不執(zhí)行。如下所示:
# 循環(huán)結(jié)束執(zhí)行else子句 for i in range(2, 11): print(i) else: print('for statement is over.') # 被break終止時(shí)不會執(zhí)行else子句 for i in range(5): if(i == 4): break; else: print(i) else: print('for statement is over') # 不會輸出
相關(guān)文章
Python下應(yīng)用opencv 實(shí)現(xiàn)人臉檢測功能
OpenCV是如今最流行的計(jì)算機(jī)視覺庫,今天我們通過本文給大家分享Python下應(yīng)用opencv 實(shí)現(xiàn)人臉檢測功能,感興趣的朋友跟隨小編一起看看吧2019-10-10python 實(shí)現(xiàn)dict轉(zhuǎn)json并保存文件
今天小編就為大家分享一篇python 實(shí)現(xiàn)dict轉(zhuǎn)json并保存文件,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12基于python爬取梨視頻實(shí)現(xiàn)過程解析
這篇文章主要介紹了基于python爬取梨視頻實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11python深度學(xué)習(xí)tensorflow1.0參數(shù)初始化initializer
這篇文章主要為大家介紹了python深度學(xué)習(xí)tensorflow1.0參數(shù)初始化initializer示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06python3實(shí)現(xiàn)網(wǎng)頁版raspberry pi(樹莓派)小車控制
這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)網(wǎng)頁版raspberry pi(樹莓派)小車控制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02python安裝/卸載模塊方法步驟詳解(附詳細(xì)圖解)
在日常工作中會需要安裝或者卸載Python模塊.于是我整理了一下,下面這篇文章主要給大家介紹了關(guān)于python安裝/卸載模塊的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01Python實(shí)現(xiàn)Appium錄屏功能示例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)Appium錄屏功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06