python 簡析程式控制流程

2021-10-16 07:16:16 字數 3842 閱讀 9680

python程式中語句執行的順序包括3種基本控制結構:順序結構、選擇結構、迴圈結構。

1、順序結構

程式中語句執行的基本順序按各語句出現位置的先後次序執行,稱為順序結構,參見下圖。先執行語句塊1,再執行語句塊2,最後執行語句塊3。三者是順序執行關係。

2、選擇結構

選擇結構可以根據條件來控制**的執行分支,選擇結構也叫分支結構。python使用if語句來實現分支結構。

分支結構包含多種形式:單分支、雙分支和多分支,流程圖如下:

2.1、單分支結構

if語句單分支結構的語法如下所示:

if(條件表示式):

語句/語句塊

當條件表示式的值為真(true)時,執行if後的語句,否則不做任何操作,控制將轉到if語句的結束點。

num1 = int(input("please input a number:"))

num2 = int(input("please input a number:"))

print(str.format("輸入值:,", num1, num2))

if(num1 < num2):

t = num1

num1 = num2

num2 = t

print(str.format("降序值:,", num1, num2))

2.2、雙分支結構

if語句雙分支語句結構的語法如下:

if(條件表示式):

語句/語句塊1

else:

語句/語句塊2

當條件表示式的值為真(true)時,執行if後的語句1,否則執行else後的語句2

num = int(input("please input a number:"))

if num >= 0:

print()

if num % 2 == 0:

print("{}是偶數".format(num))

else:

print("{}是奇數".format(num))

else:

print("請輸入乙個非負數")

2.3、多分支結構

if語句多分支結構的語法如下  :     

if(條件表示式):

語句/語句塊1

elif(條件表示式2):

語句/語句塊2

...

elif(條件表示式n):

語句/語句塊n

else:

語句/語句塊n+1

該語句的作用是根據不同條件表示式的值確定執行哪個語句

mark = int(input("請輸入分數:"))

if(mark >= 90):

grade = '優'

print(grade)

elif(mark >= 80):

grade = '良'

print(grade)

elif(mark >= 70):

grade = '中'

print(grade)

elif(mark >= 60):

grade = '及格'

print(grade)

else:

grade = '不及格'

print(grade)

2.4、if語句的巢狀

在if語句中又包含乙個或者多個if語句的結構稱為if語句的巢狀。一般形式如下:

3、迴圈結構

迴圈結構用來重複執行一條或多條語句。使用迴圈結構,可以減少源程式重複書寫的工作量。許多演算法需要使用到迴圈結構。python 使用for語句和while語句來實現迴圈結構。

3.1、for迴圈

for 變數 in 物件集合:

迴圈體語句/語句塊

for i in (1, 2, 3):

print(i)

3.2、range 物件

python 3內建物件range是乙個迭代器物件,迭代時產生指定範圍的數字序列。其格式為:range( start , stop[ ,step])。range返回的數值系列從start開始,到stop結束(不包含stop)。如果指定了可選的步         長step,則序列按步長增長。例如:

3.3、while迴圈

與for迴圈一樣,while也是乙個**試的迴圈,但是while在迴圈開始前,並不知道重複執行迴圈語句序列的次數。while 語句按不同條件執行迴圈語句(塊)零次或多次。while迴圈語句的格式為: 

while(條件表示式):

迴圈體語句/語句塊

break語句用來終止迴圈語句,即迴圈條件沒有false條件或者序列還沒被完全遞迴完,也會停止執行迴圈語句。 break語句用在while和for迴圈中。

如果您使用巢狀迴圈,break語句將停止執行最深層的迴圈,並開始執行下一行**。

num = int(input("please enter a number: "))

flag = true

if num > 1:

for i in range(2, num//2 + 1):

if (num % i) == 0:

flag = false

break

if flag:

print(num, "是質數")

else:

print(num, "不是質數")

else:

print(num, "不是質數")

3.5、continue

python continue 語句跳出本次迴圈,而break跳出整個迴圈。continue 語句用來告訴python跳過當前迴圈的剩餘語句,然後繼續進行下一輪迴圈。

continue語句用在while和for迴圈中。

for i in range(1, 6):

if i == 3:

continue

print("i=", i)

python 簡析程式控制流程

python程式中語句執行的順序包括3種基本控制結構 順序結構 選擇結構 迴圈結構。1 順序結構 程式中語句執行的基本順序按各語句出現位置的先後次序執行。2 選擇結構 選擇結構可以根據條件來控制 的執行分支。分支結構包括 單分支 雙分支和多分支,2.1 單分支結構 if語句單分支結構的語法如下所示 ...

gkENGINE HDR流程簡析

個人比較喜歡看圖說話。這裡簡單的用圖和文字說明一下gkengine hdr渲染流程中的關鍵步驟。如果要一步一步的解析,光是解釋rt的建立,釋放,紋理格式的選用。可能就需要一整天。如果再設計到框架搭建,shader的實際處理,可能幾天都不夠。所以這裡就不詳細進行 層面的講解了。不過這裡列舉幾個非常關鍵...

CEGUI渲染流程簡析

粗略分析了cegui的渲染流程,總結一下供日後參考。cegui版本是0.7.5,opengl渲染器。首先在cegui裡面每張,每個字元都是乙個quad,每個quad由2個三角面組成,包括6個頂點的座標,顏色,紋理座標,是傳送給gpu的最基礎的渲染單元。要注意的是,cegui並不侷限於quad,它可以...