第四周:程序的控制結(jié)構(gòu)

4-1 程序的分支結(jié)構(gòu)
1.單分支結(jié)構(gòu)
基本構(gòu)成:


2.二分支結(jié)構(gòu)

基本構(gòu)成:

緊湊形式:
適用于簡(jiǎn)單表達(dá)式的二分支結(jié)構(gòu)

guess = eval(input())
print("猜{}了".format("對(duì)" if guess==99 else "錯(cuò)")))

3.多分支結(jié)構(gòu)
基本構(gòu)成:

if <條件1> :
<語(yǔ)句塊1>
elif <條件2> :
<語(yǔ)句塊2>
……
else :
<語(yǔ)句塊N>
score = eval(input())
if score >= 60:
grade = "D"
elif score >= 70:
grade = "C"
elif score >= 80:
grade = "B"
elif score >= 90:
grade = "A"
print("輸入成績(jī)屬于級(jí)別{}".format(grade))

4.條件判斷及組合
條件判斷

條件組合

5.程序的異常處理

4.2身體質(zhì)量指數(shù)BMI

代碼:

#CalBMIv1.py

height, weight = eval(input("請(qǐng)輸入身高(米)和體重(公斤)[逗號(hào)隔開(kāi)]: "))

bmi = weight / pow(height, 2)

print("BMI 數(shù)值為:{:.2f}".format(bmi))
who = ""
if bmi < 18.5:
who = "偏瘦"
elif 18.5 <= bmi < 25:
who = "正常"
elif 25 <= bmi < 30:
who = "偏胖"
else:
who = "肥胖"
print("BMI 指標(biāo)為:國(guó)際'{0}'".format(who))

4.3程序的循環(huán)結(jié)構(gòu)
1.遍歷循環(huán)
基本構(gòu)成:

for <循環(huán)變量> in <遍歷結(jié)構(gòu)> :
<語(yǔ)句塊>

從遍歷結(jié)構(gòu)中逐一提取元素,放在循環(huán)變量中

由保留字for和in組成,完整遍歷所有元素后結(jié)束

每次循環(huán),所獲得元素放入循環(huán)變量,并執(zhí)行一次語(yǔ)句塊

計(jì)數(shù)循環(huán):

for i in range(5):
print(i)


0
1
2
3
4

字符串遍歷循環(huán):

 for c in "Python123":
print(c, end=",")


P,y,t,h,o,n,1,2,3,

列表遍歷循環(huán):

for item in ls :
<語(yǔ)句塊>

ls是一個(gè)列表,遍歷其每個(gè)元素,產(chǎn)生循環(huán)

文件遍歷循環(huán):

for line in fi :
<語(yǔ)句塊>

fi是一個(gè)文件標(biāo)識(shí)符,遍歷其每行,產(chǎn)生循環(huán)

2.無(wú)限循環(huán)
由條件控制的循環(huán)運(yùn)行方式

while <條件> :
<語(yǔ)句塊>

反復(fù)執(zhí)行語(yǔ)句塊,直到條件不滿足時(shí)結(jié)束

3.循環(huán)控制保留字

4.循環(huán)的高級(jí)用法

當(dāng)循環(huán)沒(méi)有被break語(yǔ)句退出時(shí),執(zhí)行else語(yǔ)句塊

else語(yǔ)句塊作為"正常"完成循環(huán)的獎(jiǎng)勵(lì)

這里else的用法與異常處理中else用法相似

4-4 random庫(kù)的使用
1.基本隨機(jī)函數(shù)

2.拓展隨機(jī)函數(shù)

4.5圓周率的計(jì)算
蒙特卡羅方法:

#CalPiV2.py

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("運(yùn)行時(shí)間是: {:.5f}s".format(perf_counter()-start))
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 4.1單分支結(jié)構(gòu) 單分支結(jié)構(gòu)(最簡(jiǎn)單) 根據(jù)判斷條件結(jié)果而選擇不同向前路徑的運(yùn)行方式 單分支示例: 二分支結(jié)構(gòu) 根...
    酒肆南城閱讀 750評(píng)論 0 1
  • 分支結(jié)構(gòu) if-elif-else try-except 循環(huán)結(jié)構(gòu) 重復(fù)執(zhí)行某一固定動(dòng)作或者任務(wù) 分類forwhi...
    Yuanshuo閱讀 299評(píng)論 0 0
  • Swift 提供了類似 C 語(yǔ)言的流程控制結(jié)構(gòu),包括可以多次執(zhí)行任務(wù)的for和while循環(huán),基于特定條件選擇執(zhí)行...
    窮人家的孩紙閱讀 780評(píng)論 1 1
  • [The Swift Programming Language 中文版]本頁(yè)包含內(nèi)容: Swift提供了多種流程控...
    風(fēng)林山火閱讀 684評(píng)論 0 0
  • Swift提供了多種控制流聲明。包括while循環(huán)來(lái)多次執(zhí)行一個(gè)任務(wù);if,guard和switch聲明來(lái)根據(jù)確定...
    BoomLee閱讀 2,072評(píng)論 0 3

友情鏈接更多精彩內(nèi)容