1. 程式人生 > 實用技巧 >基礎python學習筆記2——程式的控制

基礎python學習筆記2——程式的控制

程式的分支語句

條件組合保留字

  • 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))