從零開始學Python(四) 程式的控制結構

2021-10-04 19:20:21 字數 4184 閱讀 2616

1、單分支結構

if 《條件》:

《語句塊》

2、二分支結構:根據判斷條件結果而選擇不同向前路徑的執行方式。

if 《條件》:

《語句塊1>

else :

《語句塊2>

緊湊形式(適用於簡單表示式的二分支結構):《表示式1> if 《條件》 else 《表示式2>

(注:緊湊形式中的if、else對應的不是語句而是表示式,不支援帶等號的賦值形式)

3、多分支結構

if 《條件》:

《語句塊1>

elif:

《語句塊2>

……else :

《語句塊n>

4、條件判斷及組合

用於條件組合的三個保留字:and與, or或, not非

5、程式的異常處理

try:

《語句塊1>

except:

《語句塊2>

或:try:

《語句塊1>

except 《異常型別》:

《語句塊2>

高階使用:

try:

《語句塊1>

except:

《語句塊2>

else:

《語句塊3>

finally:

《語句塊4>

-else對應語句塊3在不發生異常時執行

-finally對應語句塊4一定執行

#calbmiv3.py

height, weight =

eval

(input

("請輸入身高(公尺)和體重(公斤)[逗號隔開]:"))

bmi = weight /

pow(height,2)

print

("bmi 數值為:"

.format

(bmi)

)who, nat ="",

""if bmi <

18.5

: who, nat =

"偏瘦"

,"偏瘦"

elif

18.5

<= bmi <24:

who, nat =

"正常"

,"正常"

elif

24<= bmi <25:

who, nat =

"正常"

,"偏胖"

elif

25<= bmi <28:

who, nat =

"偏胖"

,"偏胖"

elif

28<= bmi <30:

who, nat =

"偏胖"

,"肥胖"

else

: who, nat =

"肥胖"

,"肥胖"

print

("bmi指標為:國際'',國內''"

.format

(who,nat)

)

注:①多分支條件之間的覆蓋是重要問題

②程式可執行,但不正確,要注意多分支

③分支結構是程式的重要框架,讀程式先看分支。

1、遍歷迴圈:

(1)for 《迴圈變數》 in 《遍歷結構》 :

《語句塊》

①由保留字for和in組成,完整遍歷所有元素後結束

②每次迴圈,所獲得元素放入迴圈變數,並執行一次語句塊。

(2)計數迴圈(n次)

for i in range(n):

《語句塊》

-遍歷由range()函式產生的數字序列,產生迴圈。

(3)字串遍歷迴圈

for c in s :

《語句塊》

-s是字串,遍歷字串每個字元,產生迴圈

(4)列表遍歷迴圈

for item in ls :

《語句塊》

-ls是乙個列表,遍歷其每個元素,產生迴圈

(5)檔案遍歷迴圈

for line in fi :

《語句塊》

-fi是乙個檔案識別符號,遍歷其每行,產生迴圈。

2、無限迴圈:由條件控制的迴圈執行方式

while 《條件》 :

《語句塊》

-反覆執行語句塊,直到條件不滿足時結束(ctrl + c 退出執行)

3、迴圈控制保留字:break和continue

-break:跳出並結束當前整個迴圈,執行迴圈後的語句

-continue:結束當次迴圈,繼續執行後續次數迴圈

(對於巢狀迴圈,break只能跳出一層迴圈。)

4、迴圈的高階用法:迴圈和else的搭配

當迴圈沒有被break語句退出時,執行else語句塊。else語句塊作為「正常」完成迴圈的獎勵。

1、基本介紹:random庫是使用隨機數的python標準庫。

偽隨機數:採用梅森旋轉演算法生成的(偽)隨機序列中的元素。

2、基本隨機數函式:

(1)隨機數種子:通過對隨機數種子使用梅森旋轉演算法獲得隨機數序列,隨機數種子相同,則隨機數序列相同。

(2)seed(a=none),初始化給定的隨機數種子,預設為當前系統時間。

(3)random():生成乙個[0.0,1.0)之間的隨機小數。

3、擴充套件隨機數函式:

("圓周率值是:{}"

.format

(pi)

)

#calpiv2.py

from random import random

from time import perf_counter

darts =

1000

*1000

hits =

0.0start = perf_counter(

)for i in

range(1

, darts+1)

: x, y = random(

), random(

) dist =

pow(x **

2+ y **2,

0.5)

if dist <=

1.0:

hits = hits +

1pi =4*

(hits/darts)

print

("圓周率值是:{}"

.format

(pi)

)print

("執行時間是:"

.format

(perf_counter(

)-start)

)

舉一反三:

理解方法思維:

①數學思維:找到公式,利用公式求解

②計算思維:抽象一種過程,用計算機自動化求解。

程式執行時間分析:

①使用time庫的計時方法獲得程式執行時間

②改變撒點數量,理解程式執行時間的分布

從零開始學Python

第三章 字典 1.建立字典 book 其中值可以是任意型別,可以是元組或者字典.2.dict函式建立字典 通過對映建立 book d book.dict 輸出d book 通過關鍵字建立 d dict name zq age 1 輸出d 3.字典的格式化字串 鍵 s 字典名 book name is...

從零開始學Python

第十一章 檔案操作 1.開啟檔案 用open 函式,直接用就可以。open name mode buffering 呼叫open 之後會返回乙個檔案物件,mode 模式,buffering 緩衝都是可以選擇的。f open r 檔案路徑 2.檔案模式 r 讀模式 w 寫模式 a 追加模式 b 二進位...

零開始學python 從零開始學Python

第1章 python入門 1 1 1 什麼是python 1 1 2 python語言有什麼特點 2 1 3 python可以幹什麼 4 練一練 5 第2章 準備開發環境 6 2 1 在windows上安裝python開發環境 6 2 2 選擇和安裝開發工具 11 練一練 17 第3章 基本概念 1...