python 4 程式的控制結構

2021-10-06 17:36:58 字數 3255 閱讀 5138

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...