Python初學(十三)

最近工作有些忙,所以更新的有些緩慢,這章我主要說下循環(huán)結構和異常處理的方法。

程序的循環(huán)結構

Python語言的循環(huán)結構包括兩種:遍歷循環(huán)和無限循環(huán)。

遍歷循環(huán)使用保留字for依次提取遍歷結構各元素進行處理;

無限循環(huán)使用保留字while根據(jù)判斷條件執(zhí)行程序。

遍歷循環(huán):for

遍歷循環(huán)可以理解為從遍歷結構中逐一提取元素,放在循環(huán)變量中,對于每個所提取的元素執(zhí)行一次語句塊,for語句的循環(huán)執(zhí)行次數(shù)是根據(jù)遍歷結構中元素個數(shù)確定的。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for<循環(huán)變量> in <遍歷結構>:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<語句塊>

遍歷結構可以是字符串、文件、range()函數(shù)或組合數(shù)據(jù)類型等。??

對于字符串,可以逐一遍歷字符串的每個字符,基本使用方式瑞啊:

?????????????????????????????for<循環(huán)變量> in <字符串變量>:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<語句塊>

使用range()函數(shù),可以指定語句塊的循環(huán)次數(shù),基本使用方式如下:

? ??????????????????????????????for<循環(huán)變量> in range(<循環(huán)次數(shù)>):
??????????????????????????????????????<語句塊>

遍歷循環(huán)還有一種擴展模式,使用方法如下:

? ??????????????????????for <循環(huán)變量> in <遍歷結構>:
? ??????????????????????????????<語句塊1>
? ??????????????????????else:
? ??????????????????????????????<語句塊2>

當for循環(huán)正常執(zhí)行之后,程序會繼續(xù)執(zhí)行else語句中的內(nèi)容,else語句只在循環(huán)正常執(zhí)行之后才執(zhí)行并結束,因此可以在<語句塊2>中放置判斷循環(huán)執(zhí)行情況的語句。

無錫循環(huán):while

Python通過保留字while實現(xiàn)無限循環(huán)

while <條件>:
? ??<語句塊>

當程序執(zhí)行到while語句時,判斷條件如果為True,執(zhí)行循環(huán)體語句,語句結束后返回再次判斷while語句的條件;當條件為False時,循環(huán)終止,執(zhí)行與while同級別縮進的后續(xù)語句。

>>>n = 0
>>>while n < 10:
? ??????????????print(n)
? ??????????????n=n+3
0
3
6
9

無限循環(huán)也有一種使用保留字else的擴展模式,使用方法如下:

while <條件>:
????<語句塊1>
else:
????<語句塊2>

在這種擴展模式中,當while循環(huán)正常執(zhí)行之后,程序會繼續(xù)執(zhí)行else語句中內(nèi)容。else語句只在循環(huán)正常執(zhí)行后才執(zhí)行,因此,可以在語句塊2中放置判斷循環(huán)執(zhí)行情況的語句。

s,idx="PY",0
while idx < len(s):
????print("循環(huán)執(zhí)行中: " + s[idx])
? ? idx += 1
else:
????s = "循環(huán)正常結束"
print(s)

至于循環(huán)得到的結果? 大家可以去嘗試下? 畢竟自己動手了才能得到想要的

循環(huán)控制:break和continue

循環(huán)結構有兩個輔助循環(huán)控制的保留字:break和continue。break用來跳出最內(nèi)層for或while循環(huán),脫離該循環(huán)后程序從循環(huán)后代碼繼續(xù)執(zhí)行。

while True:
????s = input("請輸入一個名字(按Q退出): ")
????if s == "Q":
????????break
????print("輸入的名字是:", s)
print("程序退出")

如果有2層或多層循環(huán),break退出最內(nèi)層循環(huán)。

continue用來結束當前當次循環(huán),即跳出循環(huán)體中下面尚未執(zhí)行的語句,但不跳出當前循環(huán)。

for s in "PYTHON":
if s == "Y" or s == "y":
????? continue
print(s, end="")

嘗試敲一遍? 看看會輸出什么?/?

continue語句和break語句的區(qū)別是:continue語句只結束本次循環(huán),不終止整個循環(huán)的執(zhí)行,而break具備結束循環(huán)的能力。

程序的異常處理

Python程序一般對輸入有一定要求,但當實際輸入不滿足程序要求時,可能會產(chǎn)生程序的運行錯誤。

這就是個錯誤的地方

由于使用了eval()函數(shù),如果用戶輸入不是一個數(shù)字則可能報錯。這類由于輸入與預期不匹配造成的錯誤有很多種可能,不能逐一列出可能性進行判斷。為了保證程序運行的穩(wěn)定性,這類運行錯誤應該被程序捕獲并合理控制。

Python語言使用保留字try和except進行異常處理,基本的語法格式如下:

try:
????<語句塊1>
except:
????<語句塊2>

語句塊1是正常執(zhí)行的程序內(nèi)容,當執(zhí)行這個語句塊發(fā)生異常時,則執(zhí)行except保留字后面的語句塊2。

try:
? ? n = eval(input("請輸入一個數(shù)字: "))
? ? print("輸入數(shù)字的3次方值為: ", n**3)
except:
????print("輸入錯誤,請輸入一個數(shù)字!")

除了輸入之外,異常處理還可以處理程序執(zhí)行中的運行異常。

try:
????for i in range(5):
? ????? print(10/i, end=" ")
except:
? ? print("某種原因,出錯了!")

可以看下,結果會走下面的異常提示,而不是出現(xiàn)崩潰現(xiàn)象了。

以上就是本章的內(nèi)容了,基本上程序的控制結構的一些內(nèi)容也就講完了。

Python 學習的基礎(持續(xù)更新中......)

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,382評論 0 17
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,353評論 0 10
  • 江南煙雨,攀山去,苦尋仙閣。放眼望,青石板聚,蜿蜒成界?;乜创浞逶葡茧[,下望青苔塵泥和。踏行遍,久覓亭未見,且放歌...
    阿九__閱讀 160評論 5 9
  • 今天早上終于達成之前想做的一件事,陪爸爸去買菜。雖然沒做什么事,就聽著爸爸給我指點怎么挑菜,我感覺非常開心,也感受...
    楊琦家庭教育閱讀 588評論 0 6
  • 再過六分鐘,二十四歲的年華就要過去,本命年馬上結束。 愿25歲能健康,快樂。
    小蝸小閱讀 179評論 0 0

友情鏈接更多精彩內(nèi)容