Python分支結構和循環結構

一.分支結構

分支結構是根據判斷條件結果而選擇不同向前路徑的運行方式,分支結構分爲:單分支,二分支和多分支。

1)單分支結構

單分支結構是分支結構中最簡單的一種方式,它的使用方法如下:

if <條件>:
    <語句塊>

單分支結構只需要判斷一個條件,根據這個條件是否成立來決定是否執行一段語句。

實例1:猜數字

num_in=eval(input("請輸入數字:"))
if num_in==59:
    print("猜對了")

2)二分支

二分支結構是根據條件判斷的不同而選擇不同執行路徑的一種分支結構,它的使用方法如下:

if <條件>:
    <語句塊1>
else:
    <語句塊2>

二分支結構也只需要判斷一個條件,根據這個條件來決定執行的語句塊,成立執行語句塊1,不成立執行語句塊2。

實例2:猜數字

'''
遇到問題沒人解答?小編創建了一個Python學習交流QQ羣:579817333 
尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書!
'''
num_in=eval(input("請輸入數字:"))
if num_in==59:
    print("猜對了")
else:
    print("猜錯了")

3)多分支

多分支結構是根據不同條件來選擇語句塊運行的一種分支結構,它的使用方法如下:

if <條件1>:
    <語句塊1>
elif <條件2>:
    <語句塊2>
......
else:
    <語句塊n>

多分支結構需要判斷多個條件,根據判斷當前條件是否成立來決定是否執行當前語句塊,當所有條件都不成立時,執行else的語句塊。

實例3:猜數字

num_in=eval(input("請輸入數字:"))
if num_in>59:
    print("數字大了")
elif num_in<59:
    print("數字小了")
else:
    print("數字正確")

二.條件判斷

1)條件判斷操作符
在這裏插入圖片描述
2)條件組合關鍵字(Python保留字)
在這裏插入圖片描述

三.異常處理

當使用以下實例時

num_in=eval(input("請輸入數字:"))
print(num_in)

如果不輸入數字,而輸入字符串,此時會出現如下報錯:

請輸入數字:abc
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\hello_world.py", line 1, in <module>  #異常發生的代碼行數
    num_in=eval(input("請輸入數字:"))
  File "<string>", line 1, in <module>
NameError: name 'abc' is not defined  #異常類型和異常內容提示

此時就需要使用到Python通過的異常處理的相關機制,異常處理有兩種非常基本的使用方法,使用保留字try和except,格式如下:

try:
    <語句塊1>
except <異常類型>:
    <語句塊2>

放在try中的語句塊1如果出現異常,將會在except中查找相同的異常類型,執行相應的語句塊。如果except後面不跟隨異常類型,那麼就必須是最後一個except,表示除以上提到的異常類型,其餘的異常都採用這個except的語句塊。

實例:

'''
遇到問題沒人解答?小編創建了一個Python學習交流QQ羣:579817333 
尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書!
'''
try:
    num_in=eval(input("請輸入數字:"))
    print(num_in)
except NameError:
    print("當前輸入不是數字")

異常處理的高級用法使用到了保留字try、except、else和finally,格式如下:

try:
    <語句塊1>
except <異常類型>:
    <語句塊2>
else:
    <語句塊3>
finally:
    <語句塊4>

多出來的else語句塊在沒有發生異常時執行,finally語句塊一定執行。

四.循環結構

循環語句分爲:遍歷循環和無限循環

1)遍歷循環

遍歷循環指遍歷某一個結構形成的循環運行方式,它的使用方法如下:

for <循環變量> in <遍歷結構>:
    <語句塊>

簡單說遍歷循環是由for in保留字構成的循環結構,它可以從遍歷結構中逐一提取元素放到循環變量裏。當遍歷結構中的所有元素都放入循環變量,並且都已循環執行之後,那麼循環程序退出。注意:遍歷結構不是一種特殊的類型,它可以是range(m,n,k)、字符串、序列等等。

當遍歷結構採用range(m,n,k)時,可以稱這種遍歷循環結構爲計數循環,通過range(m,n,k)產生一個數字序列,這個序列包含(n-m)/k個元素,每個元素都是整數。實例如下:

'''
遇到問題沒人解答?小編創建了一個Python學習交流QQ羣:579817333 
尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書!
'''
>>> for i in range(5):
    print(i)
#輸出效果如下
0
1
2
3
4
>>> for i in range(1,6,2):
    print(i)
#輸出效果如下
1
3
5

當遍歷結構採用字符串時,可以稱這種遍歷循環結構爲字符串遍歷循環,循環變量將會遍歷字符串的每一個字符。實例如下:

>>> for i in "Python123":
    print(i,end=",")
#輸出效果如下
P,y,t,h,o,n,1,2,3,

當遍歷結構採用列表時,可以稱這個遍歷結構爲列表遍歷循環,循環變量將會遍歷列表中的每一個元素。(其他序列也可作爲遍歷結構)實例如下:

'''
遇到問題沒人解答?小編創建了一個Python學習交流QQ羣:579817333 
尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書!
'''
>>> for i in [123,"PY",456]:
    print(i,end=",")
#輸出效果如下
123,PY,456,

當變量結構採用文件(標識符)時,可以稱這個遍歷結構爲文件遍歷循環,循環變量將會遍歷文件的每一行。

一般只要是多個元素組成的數據類型,都可以被採用。

2)無限循環

無限循環是由條件控制的循環運行方式,它的使用方法如下:

while <條件判斷>:
    <語句塊>

簡單來說,它已經不再是遍歷某一個結構,而是根據條件判斷來進行循環。如果這個條件成立,那麼下面的語句塊就會被執行,執行之後再次判斷條件,如果這個條件再次成立,它就會繼續再執行下面的語句塊,然後再回來判斷循環。所以無限循環是反覆執行語句塊,直到條件不滿足時結束。

實例:

>>> a=3
>>> while a>0:
    a-=1
    print(a)
#輸出效果如下
2
1
0

如果不小心寫成了死循環,可以使用+退出循環。

3)循環控制保留字break和continue

和其他語言一樣,Python通過了兩個循環控制保留字break和continue(幾乎所有的語言都是這兩個)。break表示結束當前所在循環,continue表示跳過當次循環並不影響循環的繼續,它們都可以與for循環和while循環搭配使用。

continue實例:

>>> for c in "PYTHON":
    if c=="T":
        continue
    print(c,end="")
#輸出效果如下
PYHON

break實例:

>>> for c in "PYTHON":
    if c=="T":
        break
    print(c,end="")
#輸出效果如下
PY

注意:使用break時,注意其所在的循環位置,只跳出break所在的循環。

4)循環的高級用法

循環可以和else搭配使用,else與循環處於同一級,在循環語句之後,使用方法如下:

for <循環變量> in <遍歷結構>:
    <語句塊1>
else:
    <語句塊2>
 
while <條件>:
    <語句塊1>
else:
    <語句塊2>

無論是for還是while,當循環沒有被break保留字退出時(允許存在break),此時執行else的語句塊。簡單來講,else語句塊可以作爲“正常”完成循環的一種獎勵,與異常處理中的else類似。

實例1:

>>> for c in "PYTHON":
    if c=="T":
        continue
    print(c,end="")
else:
    print("正常退出")
#輸出效果如下
PYHON正常退出

實例2:

>>> for c in "PYTHON":
    if c=="T":
        break
    print(c,end="")
else:
    print("正常退出")
#輸出效果如下
PY
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章