4.1程式的分支結構
4.2例項:身體質量指數bim
4.3程式的迴圈結構:for;while;
4.4 random()
4.5 例項: 圓周率的計算
單分支 if 二分支 if-else 多分支 if-elif-else
條件判斷:
<;<=;>=;>;==;!=
條件組合:
x and y 邏輯與
x or y 邏輯或
not x 邏輯取非
eg: if guess >9 or guess <9:
print("錯了")
else:
print("對了")
異常處理:
try:
《語句塊1>
except [,《異常型別》]:
《語句塊2>
else:
《語句塊3> ---else在不發生異常時執行
finally:
《語句塊4> ---finally一定執行
eg: try:
num=eval(input("輸入乙個整數")
print(num**2)
except:
print("輸入不是整數")
身體質量指數 bmi 衡量人體肥胖和健康的重要標準
bmi=體重(kg)/身高^2(m^2)
輸入體重和身高
輸出國際和國內標準
#textprobarv13.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))
-----------------遍歷迴圈for---------------------------------------(條件迴圈)無限迴圈while
for 《迴圈變數》 in 《遍歷結構》:
《語句塊》
for i in range(m,n,k):
《語句塊》 從m開始 不到n 間隔k k可省略
1.字串遍歷迴圈
for c in s: s----字串 c ----每個字元
eg: for c in 「python123」:
print(c,end=",")
2.列表遍歷迴圈
for item in ls:
《語句塊》 ls是乙個列表,遍歷其每個元素,產生迴圈
eg: for item in [123,「py」,456]
print(item,end=",")
3.檔案遍歷迴圈
for line in fi:
《語句塊》 fi是乙個檔案識別符號,遍歷其每行,產生迴圈
eg: for line in
while 《條件》:
《語句塊》
eg: s="python"
while s!="":
for c in s:
print(c,end="")
s=s[:-1] #去掉最後乙個字元
迴圈與else
迴圈:else:
《語句塊》
當迴圈沒有被break語句退出時,執行else語句塊 else作為「正常」完成迴圈的獎勵 與異常處理中的else相似
random庫 隨機數的python標準庫
random.基本隨機函式: seed() random()
預設種子為系統時間 種子相同 隨機數相同
擴充套件隨機數函式:randint(a,b) ,randrange(m,n[,k])
a-b之間的整數 生成[m,n)之間以k為間隔的隨機整數
,getrandbits(k) ,uniform(a,b)
k比特長的隨機整數 [a,b]之間的隨機小數
,choice(seq) ,shuffle(seq)
從序列seq中隨機選擇乙個元素 將序列seq中隨機排列,返還打亂後的序列
s=[1,2,3,4,5,6];random.shuffle(s);print(s) #一行時要加分號
1.公式計算
#calpiv1.py
pi=0
n=100
for k in range(n):
pi+=1/pow(16,k)(
4/(8k+1) - 2/(8k+4) -
1/(8k+5) - 1/(8*k+6))
print(「圓周率值是:{}」.format(pi))
2.蒙特卡羅方法 (撒點過程)
#calpiv2.py
from random import random
from time import perf_counter
darts=10001000
hits=0.0
start=perf_counter()
for i in range(1,darts+1):
x,y=random(),random()
dist=pow(x2+y2,0.5)
if dist<=1.0:
hits=hits+1
pi=4(hits/darts)
print(「圓周率為:{}」.format(pi))
print(「執行時間為:{}」.format(perf_counter()-start))
錯題:條件迴圈也叫無限迴圈
使用while能夠實現迴圈計數
for迴圈必須知道迴圈的次數,而while迴圈迴圈的次數可以是不確定的
Python 4 流程控制
原本緊接列表後面應該時字典的內容,但在這裡,先插入乙個程式語言中比較常用的概念 流程控制。程式語言的流程可分為三種 順序,條件,迴圈本文依次闡述其在python中的 體現形式 最常見的就是順序結構,也就是說 是逐行執行的,例子 msg this is a test string.print msg ...
Python(4)操作列表
使用for迴圈 magicians a b c for magician in magicians print magician.title that was a great trick print i can t wait to see you,magician.title n print tha...
Python(4) 函式與模組
def hi print hello,world for i in range 0,4 1 hi def listsum l res 0 for i in l res res i return res l2 1,2,3,4,5,6,7,8,9,10 sum2 listsum l2 print sum...