4.1.1 單分支結構
4.1.2 二分支結構
4.1.3 多分支語句
4.1.4 程式的異常處理
異常處理示例1
try :
num = eval(input("請輸入乙個整數: "))
print(num**2)
except :
print(「輸入不是整數」)
示例2
try :
num = eval(input("請輸入乙個整數: "))
print(num**2)
exceptnameerror:
print(「輸入不是整數」)
注:標註異常型別後,僅響應該異常, 異常型別名字等同於變數
異常處理的高階使用
try :
《語句塊1>
except :
《語句塊2>
else :
《語句塊3>
finally :
《語句塊4>
注: finally對應語句塊4一定執行
else對應語句塊3在不發生異常時執行
4.2 "身體質量指數bmi"例項講解
**如下:
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))
重點在於同時輸出國際和國內對應的分類
4.3 程式的迴圈結構
4.3.1 遍歷迴圈
遍歷某個結構形成的迴圈執行方式
for 《迴圈變數》 in 《遍歷結構》 :
《語句塊》
由保留字for和in組成,完整遍歷所有元素後結束
每次迴圈,所獲得元素放入迴圈變數,並執行一次語句塊
例:
>>> for c in "python123":
print(c, end=",")
p,y,t,h,o,n,1,2,3,
for item in ls :
《語句塊》
例:
>>> for item in [123, "py", 456] :
print(item, end=",")
123,py,456,
4.3.2 無限迴圈
while 《條件》 :
《語句塊》
反覆執行語句塊,直到條件不滿足時結束
4.3.3 迴圈控制保留字
break跳出並結束當前整個迴圈,執行迴圈後的語句
break僅跳出當前最內層迴圈
continue結束當次迴圈,繼續執行後續次數迴圈
break和continue可以與for和while迴圈搭配使用
例1:
>>> for c in "python" :
if c == "t" :
break
print(c, end="")
輸出結果:py
例2:
>>> s = "python"
>>> while s != "" :
for c in s :
if c == "t" :
break
print(c, end="")
s = s[:-1]
輸出結果:pypypypypyp
4.3.4 迴圈的高階用法
while 《條件》 :
《語句塊1>
else :
《語句塊2>
當迴圈沒有被break語句退出時,執行else語句塊
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
4.4 random庫基本介紹
4.4.1 隨機數函式函式
描述基本隨機數函式
seed(a=none)
初始化給定的隨機數種子,預設為當前系統時間 >>>random.seed(10) #產生種子10對應的序列
random()
生成乙個[0.0, 1.0)之間的隨機小數
擴充套件隨機數函式
getrandbits(k)
生成乙個k比特長的隨機整數
uniform(a, b)
生成乙個[a, b]之間的隨機小數
choice(seq)
從序列seq中隨機選擇乙個元素
shuffle(seq)
將序列seq中元素隨機排列,返回打亂後的序列
4.5 "圓周率的計算"例項講解
pi = 0
n = 100
for k in range(n) :
pi += 1/pow(16,k)*( \
4/(8*k+1) – 2/(8*k+4) - \
1/(8*k+5) – 1/(8*k+6))
print("圓周率值是: {}".format(pi))
from random import random
from time import perf_counter
darts = 1000*1000
hits = 0.0
start = 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 + 1
pi = 4 * (hits/darts) print("圓周率值是: {}".format(pi))
print("執行時間是: s".format(perf_counter()-start))
—————本文整理自《python語言程式設計》
嵩天北京理工大學
第四章 程式設計
選擇語言的原則 最少的工作量原則 最少技巧性原則 最少錯誤原則 最少維護原則 減少記憶原則 總原則 先求正確後求快 先求清晰後求快 求快不忘保持程式正確性 保持程式整潔以求快 不要因效率而犧牲清晰 好程式標準 易於測試和除錯 易於維護 易於修改 設計簡單 高效率結構化程式設計主要包括兩方面 在編寫程...
Python核心程式設計 第四章
1.所有的python物件都擁有三個特性 身份,型別和值。型別 物件的型別決定了該物件可以儲存什麼型別的值,可以進行什麼樣的操作。可以用type 檢視python物件的型別。值 物件表示的資料項。2.物件的一系列固有行為和特性 比如支援哪些運算,具有哪些方法 必須事先定義好。從這個角度看,型別正是儲...
程式設計珠璣第四章
正文裡面涉及到程式設計方法學的內容。不再細述 1 加及條件是0 l u n 1 2 這個函式可以寫成如下形式 int bs int a,int begin,int end,int v if e a end e v return e a return 1 再給一段測試 include include ...