Python初學(十三)
最近工作有些忙,所以更新的有些緩慢,這章我主要說下迴圈結構和異常處理的方法。
程式的迴圈結構
Python語言的迴圈結構包括兩種:遍歷迴圈和無限迴圈。
遍歷迴圈使用保留字for依次提取遍歷結構各元素進行處理;
無限迴圈使用保留字while根據判斷條件執行程式。
遍歷迴圈:for
遍歷迴圈可以理解為從遍歷結構中逐一提取元素,放在迴圈變數中,對於每個所提取的元素執行一次語句塊,for語句的迴圈執行次數是根據遍歷結構中元素個數確定的。
for<迴圈變數> in <遍歷結構>:
<語句塊>遍歷結構可以是字串、檔案、range()函式或組合資料型別等。
對於字串,可以逐一遍歷字串的每個字元,基本使用方式瑞啊:
for<迴圈變數> in <字串變數>:
<語句塊>
使用range()函式,可以指定語句塊的迴圈次數,基本使用方式如下:
for<迴圈變數> in range(<迴圈次數>):
<語句塊>
遍歷迴圈還有一種擴充套件模式,使用方法如下:
for <迴圈變數> in <遍歷結構>:
<語句塊1>
else:
<語句塊2>當for迴圈正常執行之後,程式會繼續執行else語句中的內容,else語句只在迴圈正常執行之後才執行並結束,因此可以在<語句塊2>中放置判斷迴圈執行情況的語句。


無錫迴圈:while
Python通過保留字while實現無限迴圈
while <條件>:
<語句塊>當程式執行到while語句時,判斷條件如果為True,執行迴圈體語句,語句結束後返回再次判斷while語句的條件;當條件為False時,迴圈終止,執行與while同級別縮排的後續語句。
>>>n = 0
>>>while n < 10:
print(n)
n=n+3
0
3
6
9
無限迴圈也有一種使用保留字else的擴充套件模式,使用方法如下:
while <條件>:
<語句塊1>
else:
<語句塊2>
在這種擴充套件模式中,當while迴圈正常執行之後,程式會繼續執行else語句中內容。else語句只在迴圈正常執行後才執行,因此,可以在語句塊2中放置判斷迴圈執行情況的語句。
s,idx="PY",0
while idx < len(s):
print("迴圈執行中: " + s[idx])
idx += 1
else:
s = "迴圈正常結束"
print(s)
至於迴圈得到的結果 大家可以去嘗試下 畢竟自己動手了才能得到想要的
迴圈控制:break和continue
迴圈結構有兩個輔助迴圈控制的保留字:break和continue。break用來跳出最內層for或while迴圈,脫離該迴圈後程序從迴圈後代碼繼續執行。
while True:
s = input("請輸入一個名字(按Q退出): ")
if s == "Q":
break
print("輸入的名字是:", s)
print("程式退出")
如果有2層或多層迴圈,break退出最內層迴圈。
continue用來結束當前當次迴圈,即跳出迴圈體中下面尚未執行的語句,但不跳出當前迴圈。
for s in "PYTHON":
if s == "Y" or s == "y":
continue
print(s, end="")
嘗試敲一遍 看看會輸出什麼?/?
continue語句和break語句的區別是:continue語句只結束本次迴圈,不終止整個迴圈的執行,而break具備結束迴圈的能力。
程式的異常處理
Python程式一般對輸入有一定要求,但當實際輸入不滿足程式要求時,可能會產生程式的執行錯誤。

這就是個錯誤的地方
由於使用了eval()函式,如果使用者輸入不是一個數字則可能報錯。這類由於輸入與預期不匹配造成的錯誤有很多種可能,不能逐一列出可能性進行判斷。為了保證程式執行的穩定性,這類執行錯誤應該被程式捕獲併合理控制。
Python語言使用保留字try和except進行異常處理,基本的語法格式如下:
try:
<語句塊1>
except:
<語句塊2>
語句塊1是正常執行的程式內容,當執行這個語句塊發生異常時,則執行except保留字後面的語句塊2。
try:
n = eval(input("請輸入一個數字: "))
print("輸入數字的3次方值為: ", n**3)
except:
print("輸入錯誤,請輸入一個數字!")
除了輸入之外,異常處理還可以處理程式執行中的執行異常。

try:
for i in range(5):
print(10/i, end=" ")
except:
print("某種原因,出錯了!")
可以看下,結果會走下面的異常提示,而不是出現崩潰現象了。
以上就是本章的內容了,基本上程式的控制結構的一些內容也就講完了。