Python分支結構和循環結構


(1).分支結構

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

 1)單分支結構

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

if <條件>:
    <語句塊>

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

  實例1:猜數字

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

 2)二分支

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

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

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

  實例2:猜數字

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("數字正確")

(2).條件判斷

 1)條件判斷操作符

操作符 描述
< 小於
<= 小於等於
> 大於
>= 大於等於
== 等於
!= 不等於

 

 2)條件組合關鍵字(Python保留字)

關鍵字及使用方法 描述
and y 兩個條件判斷x和y同時為True時,才為True,否則為False
or y 兩個條件判斷x和y同時為False時,才為False,否則為True
not x 條件判定取反

(3).異常處理

  當使用以下實例時

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的語句塊。

  實例:

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語句塊一定執行。

(4).循環結構

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

 1)遍歷循環

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

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

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

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

>>> 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,

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

>>> 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

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

 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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM