基礎python學習筆記2——程式的控制
阿新 • • 發佈:2020-08-29
程式的分支語句
條件組合保留字
- and(&&)
- or(||)
- not(!)
異常處理的基本使用
try :
<語句塊1>
except :
<語句塊2>
try :
<語句塊1>
except<異常型別> :
<語句塊2>
eg:
try :
num = eval(input("請輸入一個整數:"))
print(num**3) //三次方
except :
print("not!")
一個小例項【BMI指數】
height, weight = eval(input("請輸入身高(米)和體重(公斤)【逗號隔開】")) bmi = weight / 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 = "偏胖", "肥胖" print("{}".format(nat))
程式的迴圈結構
for <迴圈變數> in <遍歷結構>
<語句塊>
for c in "python"
print(c)
for i in range(5)//從0列印到4
for i in range(1,6)//從1列印到5
for i in range(1,6,2)//列印1,3,5
while<條件>
<語句塊>
while a > 0 :
a = a - 1
print(a)
如果程式一直執行,可以用ctr+c 退出執行
其他的保留字:continue,break
random庫的運用
random庫用於生成偽隨機數
偽隨機數用梅森旋轉演算法產生
random.seed(a=None)
random.random()//隨記產生一個0-1的數
如果需要再現隨機過程,一定要使用種子
randint(a,b)//生成一個[a,b]之間的整數 randrange(m,n[,k])//生成一個[m,n)之間以k為步長的隨機整數 getrandbits(k)//生成一個k位元長的隨機整數 choice(seq) //從序列seq中隨機選擇一個元素 >>>random.choice([1,2,3,4,5]) shuffle(seq)//將序列seq中元素隨機排列,返回打亂後的序列
補充:
如果程式碼很長,需要換行,可以在行末使用 單斜槓
如果有必要多行程式碼寫到一行,語句間要是用 ; 分隔開
一個小例項:【圓周率的計算】
# from random import random
# from time import perf_counter
import time
import random
start = time.perf_counter()
cnt = 0
times = 5000*5000
for i in range(times):
xx = random.random()
yy = random.random()
if (pow(xx**2 + yy**2, 0.5) <= 1.0):
cnt = cnt+1
print("{:.7f}".format(4 * cnt / times))
print("run time = {:.2f}".format(time.perf_counter()-start))