文章目錄
1.程序的分支結構
1.1 單分支結構
解釋:如果…就…
if <條件>:
<語句塊>
注意:條件後面有個冒號
1.2 二分支結構
(1)普通形式:
if <條件>:
<語句塊1>
else:
<語句塊2>
(2)緊湊形式
解釋:適用於簡單表達式的二分支結構
<表達式1> if <條件> else <表達式2>
舉例:
guess = evel(input())
print("猜{}了".format("對" if guess==99 else "錯"))
1.3 多分支結構
if <條件>:
<語句塊1>
elif:
<語句塊2>
...
else:
<語句塊2>
舉例:
score = eval(input())
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
print("輸入成績屬於{}級別".format(grade))
1.4 條件判斷及組合
(1)操作符
(2)保留字
1.5 程序的異常處理
(1)基本形式
try:
<語句塊1>
except <異常類型>:
<語句塊2>
注意:異常類型可不標記,但是標記之後,僅響應該異常,異常類型名字等同於變量
(2)高級使用
try:
<語句塊1>
except <異常類型>:
<語句塊2>
else:
<語句塊3>
finally:
<語句塊4>
注意:
- finally對應語句塊4一定執行
- else對應語句塊3在不發生異常時執行
2.實例:身體質量指數BMI
代碼:
height,wight = eval(input("請輸入身高(米)和體重(公斤)[逗號隔開]:"))
bmi = wight / pow(height,2)
print("BMI數值爲:{:.2f}".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指標爲:國際'{0}',國內'{1}'".format(who,nat))
運行結果:
3.程序的循環結構
3.1 遍歷循環
(1)基本形式
for <循環變量> in <遍歷結構> :
<語句塊>
解釋: 每次循環,所獲得的元素放入循環變量,並執行一次語句塊
(2)基本應用
- 計數循環(N次)
for i in range(M,N,K): //從M開始不到N之間的整數,以K爲步伐取數
<語句塊>
解釋:遍歷有range()函數產生的數字序列,產生循環
- 字符串遍歷循環
for c in s:
<語句塊>
解釋:s是字符串,遍歷字符串的每個字符,產生循環
舉例:
>>>for c in "Python123":
print(c,end=",")
//運行結果:P,y,t,h,o,n,1,2,3,
- 列表遍歷循環
for item in ls:
<語句塊>
解釋:ls是一個列表,遍歷其每一個元素,產生循環
- 文件遍歷循環
for line in fi:
<語句塊>
解釋:fi是一個文件標識符。遍歷其每行,產生循環
3.2 無限循環
while <條件>:
<語句塊>
解釋:反覆執行語句塊,直到條件不滿足爲止
3.3 循環控制保留字
break
跳出並結束當前整個循環,(跳出當前層循環,不跳出外層循環)執行循環後的語句continue
結束當次循環,不執行本次循環的後續語句,從頭執行新循環
舉例:
>>>for c in "PYTHON":
if c == "T":
continue
print(c,end=",")
//運行結果:P,Y,H,O,N
s = "PYTHON"
while s != "":
for c in s :
if c== "T":
break
print(c,end="")
s=s[:-1]
//運行結果:PYPYPYPYPYP
3.4 循環的高級用法
循環與else
- 當循環沒有被break語句退出時,執行else語句塊
- else語句塊作爲“正常”完成循環的獎勵
- 這裏的else用法與異常處理的else用法類似
舉例:
4.random庫的使用
4.1 基本介紹
- 使用時
import random
- random庫包括兩類函數,常用8個
(1)基本隨機數函數:
seed(),random()
(2)擴展隨機數函數:
randint(),getrandbits(),uniform(),randrange(),choice(),shuffle()
4.2 基本隨機數函數
4.2 擴展隨機數函數
5.實例:圓周率的計算
#計算圓周率
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("運行時間是:{:.5f}s".format(perf_counter()-start))