程序設(shè)計(jì)基礎(chǔ)(Python語(yǔ)言)程序的控制結(jié)構(gòu)_第1頁(yè)
程序設(shè)計(jì)基礎(chǔ)(Python語(yǔ)言)程序的控制結(jié)構(gòu)_第2頁(yè)
程序設(shè)計(jì)基礎(chǔ)(Python語(yǔ)言)程序的控制結(jié)構(gòu)_第3頁(yè)
程序設(shè)計(jì)基礎(chǔ)(Python語(yǔ)言)程序的控制結(jié)構(gòu)_第4頁(yè)
程序設(shè)計(jì)基礎(chǔ)(Python語(yǔ)言)程序的控制結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩134頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

程序控制結(jié)構(gòu)030405選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)程序的異常處理0102程序設(shè)計(jì)基礎(chǔ)順序結(jié)構(gòu)順序結(jié)構(gòu)Part01選擇結(jié)構(gòu)Part02程序設(shè)計(jì)基礎(chǔ)循環(huán)結(jié)構(gòu)Part03

(a)(b)(c)

順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)AB假真L條件真假AB

條件030405選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)程序的異常處理0102程序設(shè)計(jì)基礎(chǔ)順序結(jié)構(gòu)print函數(shù)Part01input函數(shù)Part02順序結(jié)構(gòu)print()輸出函數(shù)輸出字符信息,函數(shù)中帶引號(hào)的字符串直接輸出;輸出變量的值,在函數(shù)中寫(xiě)上變量名;輸出表達(dá)式的值,函數(shù)中書(shū)寫(xiě)的表達(dá)式;輸出多個(gè)內(nèi)容,用“,”隔開(kāi)多個(gè)內(nèi)容。<變量>=input(<提示性文字>)input()輸入函數(shù)通過(guò)它能夠完成從鍵盤(pán)獲取數(shù)據(jù),然后保存到指定的變量中。input獲取的數(shù)據(jù),都以字符串的方式進(jìn)行保存,即使輸入的是數(shù)字,那么也是以字符串方式保存。eval()函數(shù)eval(<字符串>)函數(shù)是Python語(yǔ)言中一個(gè)十分重要的函數(shù),它能夠以Python表達(dá)式的方式解析并執(zhí)行字符串,將返回結(jié)果輸出。功能2:將字符串變成python可執(zhí)行的表達(dá)式a=1

print(eval('a+1'))功能1:將字符串變成數(shù)字a='102'

print(type(a))

b=eval(a)

print(type(b))編寫(xiě)一個(gè)人民幣與輸入幣種的兌換程序,根據(jù)用戶輸入的幣種、匯率和待兌換人民幣數(shù)量,實(shí)現(xiàn)人民幣到其他幣種的兌換。課堂練習(xí)作業(yè)打開(kāi)Python開(kāi)發(fā)環(huán)境,請(qǐng)給x和y變量分別賦值,分別使用加法、減法、乘法和除法編寫(xiě)四個(gè)表達(dá)式,計(jì)算結(jié)果直接使用print語(yǔ)句輸出。保存為“學(xué)號(hào)-io.py”。小明準(zhǔn)備考駕照,在學(xué)習(xí)交規(guī)的時(shí)候了解到,根據(jù)車輛的速度判斷車輛是否超速時(shí),如果限制速度為80km/h,當(dāng)車輛速度大于時(shí),為“超速通過(guò)”,否則,為“正常通過(guò)”。小明想自己寫(xiě)程序?qū)崿F(xiàn)這個(gè)功能,該怎么寫(xiě)呢?引例1:開(kāi)始輸入速度→s輸出msg的內(nèi)容結(jié)束“超速通過(guò)”→msgs>80?“正常通過(guò)”→msg是否030405選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)程序的異常處理0102程序設(shè)計(jì)基礎(chǔ)順序結(jié)構(gòu)選擇結(jié)構(gòu)的用途Part01單分支語(yǔ)句Part02選擇結(jié)構(gòu)雙分支語(yǔ)句Part03多分支語(yǔ)句Part04在Python語(yǔ)句是通過(guò)一條或多條語(yǔ)句的執(zhí)行結(jié)果(True或者False)來(lái)決定將要執(zhí)行的代碼塊。可以分為單分支、雙分支和多分支三種結(jié)構(gòu)。引例1:輸出車輛超速提醒,當(dāng)車輛行駛速度大于80公里/小時(shí),則輸出“超速通過(guò)”。否開(kāi)始輸入車輛速度→v輸出“超速通過(guò)”結(jié)束v>80是1、單分支結(jié)構(gòu)的語(yǔ)法

if<條件>:<語(yǔ)句序列>關(guān)鍵字:if功能:根據(jù)條件選擇語(yǔ)句執(zhí)行。格式要求:①條件后帶“:”;②語(yǔ)句序列通過(guò)縮減表明包含關(guān)系。重點(diǎn):兩個(gè)要素的分析。關(guān)注點(diǎn):作業(yè)編寫(xiě)代碼,輸入學(xué)生成績(jī)score,如果score大于90,則輸出“你是學(xué)霸!”。在選擇語(yǔ)句結(jié)束后輸出“請(qǐng)繼續(xù)努力學(xué)習(xí)!”課堂練習(xí):2、執(zhí)行下面程序,輸入4后,程序輸出的結(jié)果是:x=eval(input('pleaseinputanumber:'))ifx**2>15:y=x**2+1ifx**2<15:y=1/xprint(y)A.NoneB.17C.ErrorD.0.252、雙分支結(jié)構(gòu)的功能功能:根據(jù)給定的條件成立與否,而決定從各種不同的解決方案中選擇某一個(gè)方案來(lái)執(zhí)行。語(yǔ)句序列2條件語(yǔ)句序列1否是后繼語(yǔ)句2、雙分支結(jié)構(gòu)的語(yǔ)法

if<條件>:<語(yǔ)句序列1>else:<語(yǔ)句序列2>關(guān)鍵字:if,else格式要求:①條件或else后帶“:”;②語(yǔ)句序列通過(guò)縮減表明包含關(guān)系。重點(diǎn):三個(gè)要素的分析。功能:執(zhí)行流程。關(guān)注點(diǎn):課堂練習(xí)3:小明想起數(shù)學(xué)課上的分段函數(shù):輸入一個(gè)整數(shù)x,求y的值,小明覺(jué)得這個(gè)也可以用if語(yǔ)句來(lái)求解。

importmathx=int(input("請(qǐng)輸入x的值"))

[填空1]

[填空2]:

[填空3]

[填空4]:

[填空5]

print(y)課堂練習(xí)4

作業(yè)輸入一個(gè)整數(shù)x,求y的值.

課堂練習(xí)5:小明的姐姐在假日旅行社工作,旅行社為了爭(zhēng)取更多的游客,給出優(yōu)惠措施:團(tuán)購(gòu)五人(及以上),團(tuán)費(fèi)8折。姐姐請(qǐng)小明幫忙,做一個(gè)可以根據(jù)輸入的人數(shù)和團(tuán)費(fèi),計(jì)算實(shí)際支付團(tuán)費(fèi)的程序。小明該怎么寫(xiě)這個(gè)程序呢?p=int(input("請(qǐng)輸入人數(shù):"))c=eval(input("請(qǐng)輸入團(tuán)費(fèi):"))

[填空1]p>=5

[填空2]

[填空3]

[填空4]:d=1print("總費(fèi)用為:",p*c*d)課堂練習(xí)5小明所在的班級(jí)正在評(píng)選優(yōu)秀生,要求是高等數(shù)學(xué)、英語(yǔ)、Python語(yǔ)言三門(mén)課總分在240以上,并且至少有一門(mén)在90分以上。請(qǐng)先畫(huà)流程圖,再編寫(xiě)程序,根據(jù)輸入分?jǐn)?shù)判斷是否是優(yōu)秀生。請(qǐng)同學(xué)們完善代碼。課堂練習(xí)6:開(kāi)始輸入成績(jī)→x,y,z“優(yōu)秀生!”→msg輸出msg的內(nèi)容結(jié)束?“繼續(xù)努力!”→msg是否x=int(input(“請(qǐng)輸入高數(shù)成績(jī):”))y=int(input(“請(qǐng)輸入英語(yǔ)成績(jī):”))z=int(input(“請(qǐng)輸入Python語(yǔ)言成績(jī):”))if[填空1]:

msg=“優(yōu)秀生!”else:

msg=“請(qǐng)繼續(xù)努力!”print(msg)課堂練習(xí)6小明在進(jìn)一步的學(xué)習(xí)中了解到,根據(jù)車輛超速情況的不同,是有不同處罰的,①超過(guò)10%以內(nèi),不罰款,記3分;②超過(guò)10%以上未達(dá)20%的,罰50元,記3分;③超過(guò)20%以上未達(dá)50%的,罰200元,記3分;④超過(guò)50%以上未達(dá)70%的,罰1000元,記6分,可以并處吊銷駕駛證;⑤超過(guò)70%以上的,罰2000元,記6分,可以并處吊銷駕駛證。小明要實(shí)現(xiàn)這個(gè)功能,又該怎么編寫(xiě)代碼呢?引例3:輸入時(shí)速→s0<r<=0.1“不罰款,給予警告”→msg是否0.1<r<=0.2“罰50元”→msg是否0.2<r<=0.5“罰100元”→msg是否0.5<r<=0.7是否輸出msgr=(s-50)/50“罰300元”→msg“罰500元”→msg后續(xù)語(yǔ)句條件1語(yǔ)句序列1是否條件2語(yǔ)句序列2是否…………是否條件N語(yǔ)句序列N是否語(yǔ)句序列N+13、多分支結(jié)構(gòu)的功能

功能:根據(jù)給定的條件成立與否,而決定從多個(gè)解決方案中選擇某一個(gè)方案來(lái)執(zhí)行。if<條件1>:<語(yǔ)句序列1>elif<條件2>:<語(yǔ)句序列2>...else:<語(yǔ)句序列N>3、多分支結(jié)構(gòu)的語(yǔ)法關(guān)鍵字:if,elif,else格式要求:①條件或else后帶“:”;②語(yǔ)句序列通過(guò)縮減表明包含關(guān)系。重點(diǎn):多個(gè)條件的表示(各個(gè)條件的完整性與互斥性)。執(zhí)行流程:代碼依次測(cè)試條件語(yǔ)句,當(dāng)條件成立,將執(zhí)行相應(yīng)的語(yǔ)句。執(zhí)行語(yǔ)句后跳出分支語(yǔ)句代碼,執(zhí)行后續(xù)語(yǔ)句。不再測(cè)試其他的條件。如果所有條件都不成立,則執(zhí)行else對(duì)應(yīng)的語(yǔ)句。如果沒(méi)有else分支,就直接執(zhí)行后續(xù)語(yǔ)句。鐵路運(yùn)貨的費(fèi)用與路程s遠(yuǎn)近有關(guān):不足50公里,每噸每公里1.00元;>=50公里,<100公里,每噸每公里0.90元;>=100公里,<200公里,每噸每公里0.80元;>=200公里,每噸每公里0.70元。計(jì)算運(yùn)貨w噸,路程s公里的運(yùn)費(fèi)。課堂練習(xí)1:小明在進(jìn)一步的學(xué)習(xí)中了解到,根據(jù)車輛超速情況的不同,是有不同處罰的,①超過(guò)10%以內(nèi),不罰款,記3分;②超過(guò)10%以上未達(dá)20%的,罰50元,記3分;③超過(guò)20%以上未達(dá)50%的,罰200元,記3分;④超過(guò)50%以上未達(dá)70%的,罰1000元,記6分,可以并處吊銷駕駛證;⑤超過(guò)70%以上的,罰2000元,記6分,可以并處吊銷駕駛證。小明要實(shí)現(xiàn)這個(gè)功能,又該怎么編寫(xiě)代碼呢?引例3:解決引例:這個(gè)是一個(gè)多分支結(jié)構(gòu),需要使用if…elif…else語(yǔ)句編寫(xiě)程序。編寫(xiě)解決問(wèn)題:編寫(xiě)多分支的條件時(shí),可通過(guò)“集合”確保各條件的完整性以及條件之間的互斥性。錯(cuò)誤的劃分正確的劃分小明的姐姐在假日旅行社工作,旅行社為了爭(zhēng)取更多的游客,給出優(yōu)惠措施:團(tuán)購(gòu)5人以上(含5人),旅游費(fèi)用8折;如果在淡季出行(3、6、9、11月),旅游費(fèi)用8折;同時(shí)符合上述條件,旅行費(fèi)用享折上折。姐姐請(qǐng)小明幫忙編寫(xiě)程序,根據(jù)顧客人數(shù)和出行月份計(jì)算折扣信息。課堂練習(xí)2:團(tuán)購(gòu)5人以上(含5人),旅游費(fèi)用8折;如果在淡季出行(3、6、9、11月),旅游費(fèi)用8折;同時(shí)符合上述條件,旅行費(fèi)用享折上折。課堂練習(xí)2:作業(yè)1、請(qǐng)同學(xué)們自己設(shè)計(jì)1個(gè)需要用到多分支結(jié)構(gòu)語(yǔ)句編寫(xiě)程序的題目。作業(yè)2、請(qǐng)將以下代碼轉(zhuǎn)換為多分支結(jié)構(gòu)語(yǔ)句。if0<=x<=30:ifx<15:ifx<10:y=0else:y=1else:ifx<20:y=2else:y=3else:y=4內(nèi)容總結(jié):?jiǎn)畏种ЫY(jié)構(gòu)雙分支結(jié)構(gòu)關(guān)鍵字:if,else多分支結(jié)構(gòu)關(guān)鍵字:if,elif,else重點(diǎn):條件表達(dá)(靈活運(yùn)用關(guān)系運(yùn)算符和邏

輯運(yùn)算符)重點(diǎn):多個(gè)條件的表示(運(yùn)用“集合”思想)分支結(jié)構(gòu)1、公用電話收費(fèi)標(biāo)準(zhǔn)如下:通話時(shí)間在3分鐘以內(nèi),收費(fèi)0.5元;3分鐘以上,則每超過(guò)1分鐘加收0.15元。編寫(xiě)程序,計(jì)算某人通話S分鐘,應(yīng)繳多少電話費(fèi)。2、鐵路運(yùn)貨的費(fèi)用與路程s遠(yuǎn)近有關(guān):不足50公里,每噸每公里1.00元;>=50公里,<100公里,每噸每公里0.90元;>=100公里,<200公里,每噸每公里0.80元;>=200公里,每噸每公里0.70元。計(jì)算運(yùn)貨w噸,路程s公里的運(yùn)費(fèi)。作業(yè)030405選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)程序的異常處理0102程序設(shè)計(jì)基礎(chǔ)順序結(jié)構(gòu)循環(huán)概念及應(yīng)用場(chǎng)景Part01循環(huán)結(jié)構(gòu)的構(gòu)造Part02循環(huán)結(jié)構(gòu)循環(huán)語(yǔ)句Part03循環(huán)控制保留字Part04循環(huán)程序設(shè)計(jì)舉例Part05你看中了一款大概要八千多元的手機(jī),但是你家里面沒(méi)有給你這個(gè)預(yù)算。現(xiàn)在有一種“校園貸”,如果貸10000元,簽訂8個(gè)月的償還期限,日利率只有8‰。你覺(jué)得怎么樣,想不想了解一下在8個(gè)月后需要償還多少錢?引例——場(chǎng)景代入:流程圖:本金為10000,日利息為8‰,月利息為24%。用計(jì)算機(jī)進(jìn)行計(jì)算的具體過(guò)程如右圖所示。循環(huán)結(jié)構(gòu)開(kāi)始capital=10000interest=0.008天數(shù)=1天數(shù)<=240capital*=(1+interest)天數(shù)=天數(shù)+1是輸出capital結(jié)束否循環(huán)概念及應(yīng)用場(chǎng)景Part01循環(huán)結(jié)構(gòu)的構(gòu)造Part02循環(huán)結(jié)構(gòu)循環(huán)語(yǔ)句Part03循環(huán)控制保留字Part04循環(huán)程序設(shè)計(jì)舉例Part05循環(huán)結(jié)構(gòu)--循環(huán)的概念

按照一定條件控制重復(fù)執(zhí)行某段程序或某些語(yǔ)句的處理方法。循環(huán)結(jié)構(gòu)的構(gòu)造循環(huán)結(jié)構(gòu)的“三個(gè)要素”循環(huán)結(jié)構(gòu)的“一個(gè)要求”循環(huán)結(jié)構(gòu)的“一個(gè)關(guān)系”循環(huán)結(jié)構(gòu)循環(huán)語(yǔ)句的關(guān)鍵字循環(huán)語(yǔ)句的格式循環(huán)語(yǔ)句的執(zhí)行順序循環(huán)語(yǔ)句(1)設(shè)計(jì)循環(huán)體。需要被重復(fù)執(zhí)行的語(yǔ)句放入循環(huán)體中。(2)設(shè)置循環(huán)條件。在這里控制循環(huán)條件的變量我們稱之為循環(huán)變量。(3)初始化。對(duì)循環(huán)中要使用的變量賦初值。循環(huán)結(jié)構(gòu)—“三個(gè)要素”上小學(xué)的時(shí)候,老師講過(guò)高斯計(jì)算1+2+3+……+100的方法。例1:1+100=2+99=3+98=…=49+52=50+51(1+100)×100÷2=5050高斯的方法:數(shù)學(xué)家:高斯i=1,s=s+1i=2,s=s+2i=3,s=s+3……i=100,s=s+100計(jì)算機(jī)的求解方法(累加算法):s=0(用于存放累加和),i=1(表示從第一次開(kāi)始)i<=100s=s+?s=0,i=1i<=100s=s+?是否循環(huán)結(jié)構(gòu)—“一個(gè)要求”循環(huán)變量必須在循環(huán)過(guò)程中發(fā)生變化。s=0,i=1i<=100s+=?是否i+=1循環(huán)結(jié)構(gòu)—“一個(gè)關(guān)系”找循環(huán)體中變化的量與循環(huán)變量的關(guān)系來(lái)確定這個(gè)變化的量。s=0,i=1i<=100s+=?是否i+=1循環(huán)結(jié)構(gòu)—“一個(gè)關(guān)系”找循環(huán)體中變化的量與循環(huán)變量的關(guān)系來(lái)確定這個(gè)變化的量。s=0,i=1i<=100s+=i是否i+=1循環(huán)結(jié)構(gòu)的構(gòu)造三個(gè)要素構(gòu)造循環(huán)體;設(shè)置循環(huán)條件;設(shè)置變量初始化。一個(gè)要求

循環(huán)變量的值在循環(huán)過(guò)程中必須改變。一個(gè)關(guān)系

循環(huán)中變化的量與循環(huán)變量的關(guān)系。循環(huán)概念及應(yīng)用場(chǎng)景Part01循環(huán)結(jié)構(gòu)的構(gòu)造Part02循環(huán)結(jié)構(gòu)循環(huán)語(yǔ)句Part03循環(huán)控制保留字Part04循環(huán)程序設(shè)計(jì)舉例Part05小明理解了計(jì)算1+2+3+……+100的和的流程圖,但是代碼該怎么寫(xiě)呢?例1:print("1+2+3+……+100=",s)?s=0,i=1i<=100s+=i是否i+=1循環(huán)語(yǔ)句—while語(yǔ)句①語(yǔ)句格式:while<循環(huán)條件>:

語(yǔ)句組②語(yǔ)句功能:當(dāng)條件成立(為T(mén)rue)時(shí),執(zhí)行循環(huán)體的操作;當(dāng)條件不成立(為False)時(shí),退出循環(huán)。循環(huán)條件語(yǔ)句組是否計(jì)算1+2+3+……+100的和。

[填空1]

[填空2]

while

[填空3]:

[填空4]

[填空5]print("1+2+3+……+100=",s)例1:填空題計(jì)算s=2*4*6*…*10

[填空1]

[填空2]

while[填空3]:

[填空4]

[填空5]print("s=2*4*6*….*10=",s)擴(kuò)展練習(xí)1:填空題i=2,s=s*2i=4,s=s*4i=6,s=s*6……i=10,s=s*10循環(huán)表達(dá)式i<=10初始參數(shù):s=?i=2s=s*i1完成引例:現(xiàn)在讓我們回到引例部分,將流程圖轉(zhuǎn)換為循環(huán)代碼。請(qǐng)同學(xué)們完善代碼。主觀題開(kāi)始capital=10000interest=0.008天數(shù)=1天數(shù)<=240capital*=(1+interest)天數(shù)=天數(shù)+1是輸出capital結(jié)束否作業(yè)請(qǐng)同學(xué)們自己設(shè)計(jì)1個(gè)需要用循環(huán)語(yǔ)句while求解的題目。課堂練習(xí):1、如果while后面的條件是True,表示:A條件是什么不清楚B條件永為真C直接退出循環(huán)D不進(jìn)入while2、以下程序的輸出結(jié)果是:????????????????????????????????????????????????????????????????????????????????????????????????x=10whilex:x-=1ifnotx%2:print(x,end='')else:print(x)A97531B975311C864200D86420作業(yè)有一張足夠大的紙,其厚度為0.1毫米,請(qǐng)問(wèn),將它對(duì)折多少次之后,其厚度將超過(guò)珠穆朗瑪峰(珠穆朗瑪峰的高度為8848.68米)?這個(gè)題的流程圖怎么畫(huà)?并編寫(xiě)代碼。循環(huán)語(yǔ)句—for語(yǔ)句①語(yǔ)句格式:for<循環(huán)變量>in<遍歷結(jié)構(gòu)>:

語(yǔ)句塊foriinrange(10):

語(yǔ)句塊foriteminlist:

語(yǔ)句塊forcins:

語(yǔ)句塊循環(huán)語(yǔ)句—for語(yǔ)句②語(yǔ)句功能:當(dāng)循環(huán)變量的值在遍歷范圍內(nèi)時(shí),執(zhí)行循環(huán)體的操作;否則,退出循環(huán)。循環(huán)語(yǔ)句—for語(yǔ)句①語(yǔ)句格式:for<循環(huán)變量>in<遍歷結(jié)構(gòu)>:

語(yǔ)句塊foriinrange(10):

語(yǔ)句塊foriteminlist:

語(yǔ)句塊forcins:

語(yǔ)句塊s=0i=1whilei<=100:s+=ii+=1print(f”s={s}”)請(qǐng)將以下“例1:計(jì)算1+2+3+……+100的和”代碼改為for語(yǔ)句。課堂練習(xí):1、下面代碼的輸出結(jié)果是????????????????????????????????????????????????sum=1.0fornuminrange(1,4):sum+=numprint(sum)A7.0B1.0C6D7課堂練習(xí):2、下列程序的運(yùn)行結(jié)果是()

s=0forkinrange(10,50,15):s=s+kprint(s,k)循環(huán)語(yǔ)句—for語(yǔ)句①語(yǔ)句格式:for<循環(huán)變量>in<遍歷結(jié)構(gòu)>:

語(yǔ)句塊foriinrange(10):

語(yǔ)句塊foriteminlist:

語(yǔ)句塊forcins:

語(yǔ)句塊課堂練習(xí):3、如果輸入“123456”,下列程序的運(yùn)行結(jié)果是()a=input("")forxina:?print(x,end="")?循環(huán)概念及應(yīng)用場(chǎng)景Part01循環(huán)結(jié)構(gòu)的構(gòu)造Part02循環(huán)結(jié)構(gòu)循環(huán)語(yǔ)句Part03循環(huán)控制保留字Part04循環(huán)程序設(shè)計(jì)舉例Part05循環(huán)控制保留字:break、continue課堂練習(xí):1、下面代碼的輸出結(jié)果是????????????????????????????????????????????????????????????????????????????????????????????????forsin"HelloWorld":ifs=="W":continueprint(s,end="")(A)Helloorld(B)Hello(C)HelloWorld(D)World課堂練習(xí):2、下面代碼的輸出結(jié)果是????????????????????????????????????????????????????????????????????????????????????????????????forsin"HelloWorld":ifs=="W":breakprint(s,end="")AHelloorldBHelloCWorldDHelloWorld課堂練習(xí):3、給出如下代碼:????????????????????????????????????????????????????????????????????????????????????????????????whileTrue:guess=eval(input())ifguess==0x452//2:break作為輸入能夠結(jié)束程序運(yùn)行的是????????????????????????????????????????????????????????????????????????????????????????????????AbreakB0x452C553D226在引例的基礎(chǔ)上,如果貸10000元,日利率8‰,請(qǐng)計(jì)算還款金額多少天后就超過(guò)100000(十萬(wàn))元了?擴(kuò)展練習(xí)3:計(jì)算“校園貸”在8個(gè)月后需要償還多少錢,如果貸10000元,簽訂8個(gè)月的償還期限,日利率為8‰。引例:請(qǐng)問(wèn)你知道哪些π的求解方法?(math.pi這個(gè)作為參考值)擴(kuò)展練習(xí)4:隨機(jī)向單位正方形和圓結(jié)構(gòu),拋灑大量“飛鏢”點(diǎn);計(jì)算每個(gè)點(diǎn)到圓心的距離從而判斷該點(diǎn)在圓內(nèi)或者圓外;用圓內(nèi)的點(diǎn)數(shù)除以總點(diǎn)數(shù)就是π/4值。使用的正方形和圓結(jié)構(gòu)

計(jì)算π使用的拋點(diǎn)過(guò)程方法一:蒙特卡羅方法求解π如果向正方形中拋灑10000枚飛鏢,右側(cè)流程圖中循環(huán)的“三個(gè)要素”該分別填什么?是否1、隨機(jī)產(chǎn)生10000個(gè)點(diǎn),每個(gè)點(diǎn)的坐標(biāo)為(x,y)為了保證點(diǎn)在邊長(zhǎng)為1的正方形中,x,y利用隨機(jī)函數(shù)random()產(chǎn)生[0,1)。2、計(jì)算點(diǎn)到坐標(biāo)原點(diǎn)的距離是否小于r。是否i=1n=0i<=10000產(chǎn)生隨機(jī)坐標(biāo)點(diǎn)x,y計(jì)算點(diǎn)到圓心距離d判斷點(diǎn)是否在圓內(nèi)蒙特卡羅方法求解π:fromrandomimportrandomfrommathimportsqrtfromtimeimportprocess_timeDARTS=10000hits=0.0process_time()foriinrange(1,DARTS+1):x,y=random(),random()dist=sqrt(x**2+y**2)ifdist<=1.0:hits=hits+1pi=4*(hits/DARTS)print("Pi值是{}.".format(pi))print("運(yùn)行時(shí)間是:{:5.5}s".format(process_time()))作業(yè)編寫(xiě)代碼,使用蒙特卡洛法求π值。方法二:近似公式求解π1、如果用前100項(xiàng)求π,代碼如何寫(xiě)?是否用π/4=1-1/3+1/5-1/7+……方法二:近似公式求解π2、如果希望當(dāng)最末項(xiàng)小于10-5時(shí)停止計(jì)算,代碼又該如何寫(xiě)呢?是否用π/4=1-1/3+1/5-1/7+……作業(yè)編寫(xiě)代碼,使用近似公示法求π值。給自己準(zhǔn)備一個(gè)密碼。我們辦理的銀行卡通常要求設(shè)置六位數(shù)密碼,這里給大家介紹一種密碼產(chǎn)生方法,用爸爸、媽媽和自己生日的六位數(shù)公倍數(shù)作為密碼。例如,爸爸的生日是8月1日,媽媽的生日是9月1日,自己的生日是10月4日,密碼就是81、91和104的六位數(shù)最小公倍數(shù)。請(qǐng)大家設(shè)計(jì)程序算出自己的新密碼。擴(kuò)展練習(xí)5:內(nèi)容總結(jié):循環(huán)結(jié)構(gòu)三個(gè)要素一個(gè)關(guān)系一個(gè)要求循環(huán)語(yǔ)句循環(huán)體循環(huán)條件初始化計(jì)數(shù)方式人為約定關(guān)鍵字:while,for,break,continue語(yǔ)句功能執(zhí)行流程課堂練習(xí):1、for或者while與else搭配使用時(shí),關(guān)于執(zhí)行else語(yǔ)句塊描述正確的是?A總會(huì)執(zhí)行B僅循環(huán)正常結(jié)束后執(zhí)行C永不執(zhí)行D僅循環(huán)非正常結(jié)束后執(zhí)行(以break結(jié)束)課堂練習(xí):2、以下關(guān)于循環(huán)結(jié)構(gòu)的描述,錯(cuò)誤的是:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????A非確定次數(shù)的循環(huán)用while語(yǔ)句來(lái)實(shí)現(xiàn),確定次數(shù)的循環(huán)用for語(yǔ)句來(lái)實(shí)現(xiàn)B非確定次數(shù)的循環(huán)的次數(shù)是根據(jù)條件判斷來(lái)決定的C遍歷循環(huán)的循環(huán)次數(shù)由遍歷結(jié)構(gòu)中的元素個(gè)數(shù)來(lái)體現(xiàn)D遍歷循環(huán)對(duì)循環(huán)的次數(shù)是不確定的課堂練習(xí):3、下面代碼的輸出結(jié)果是????????????????????????????????????????????????forsin"abc":foriinrange(3):print(s,end="")ifs=="c":breakAabbbcccBaaabbbcccCaaabbbcDaaabccc課堂練習(xí):4、以下程序的輸出結(jié)果是:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????chs="|'\'-'|"????????????????????????????????????????????????foriinrange(6):forchinchs[i]:print(ch,end='')A"|'-'|"B|\-|C|''-'|D|'\'-'|5、以下程序的輸出結(jié)果是:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????foriin"CHINA":????????????????????????????????????????????????forkinrange(2):print(i,end="")ifi=='N':breakACCHHIINAABCCHHIIAACCCHHIAADCCHHIINNAA循環(huán)概念及應(yīng)用場(chǎng)景Part01循環(huán)結(jié)構(gòu)的構(gòu)造Part02循環(huán)結(jié)構(gòu)循環(huán)語(yǔ)句Part03循環(huán)控制保留字Part04循環(huán)程序設(shè)計(jì)舉例Part05循環(huán)程序設(shè)計(jì)舉例(1)累加、累乘(3)多重循環(huán)(2)素?cái)?shù)問(wèn)題(4)遞推題(5)特別的數(shù)(1)累加、累乘

(1)累加、累乘

作業(yè)求級(jí)數(shù)??+??/??+??/??+??/??+…+??/??,當(dāng)最后一項(xiàng)的絕對(duì)值小于10-k時(shí),停止計(jì)算。(k的值從鍵盤(pán)輸入)

作業(yè)編寫(xiě)代碼,根據(jù)公式求e,當(dāng)最末項(xiàng)<10-5停止計(jì)算。(2)判斷素?cái)?shù):判斷鍵盤(pán)輸入的數(shù)m是否是素?cái)?shù)。是否空語(yǔ)句是否m=輸入數(shù)據(jù)f=Falsei=2i<=m-1m%i==0f=Truei=i+1是否輸出“是素?cái)?shù)”f==False輸出“不是素?cái)?shù)”開(kāi)始結(jié)束作業(yè)判斷鍵盤(pán)輸入的數(shù)m是否是素?cái)?shù)。求Fibonacci數(shù)列:1,1,2,3,5,8,……的前20項(xiàng)。是否i=3,a=1,b=1i<=20c=a+ba=bb=ai=i+1(3)遞推題酒會(huì)上,如果每人與其他與會(huì)者只碰杯一次,并且知道碰杯聲為903下,寫(xiě)程序求出出席酒會(huì)的人數(shù)。用迭代法求。求平方根的迭代公式為:要求:輸入a值,并以a作為x的初值。直到前后兩次求出的x的差的絕對(duì)值小于10-5為止。作業(yè)已知有一批書(shū)共1020本,以后每天都買掉一半還多2本,設(shè)計(jì)程序求出幾天能買完。完全數(shù)(Perfectnumber),又稱完美數(shù)或完備數(shù),是一些特殊的自然數(shù)。它所有的真因子(即除了自身以外的約數(shù))的和,恰好等于它本身。請(qǐng)編寫(xiě)程序判斷輸入的數(shù)是否是完全數(shù)。(4)特別的數(shù)是否空語(yǔ)句是否n=輸入數(shù)據(jù)i=1s=0i<nn%i==0s=s+ii=i+1是否輸出“是完全數(shù)”n==s輸出“不是完全數(shù)”開(kāi)始結(jié)束已知一個(gè)正整數(shù)與3的和是5的倍數(shù),與3的差是6的倍數(shù)。設(shè)計(jì)程序,找出符合此條件的最小正整數(shù)。找出1000內(nèi)滿足下面條件的數(shù):個(gè)位數(shù)字與十位數(shù)字之和除以10所得余數(shù)剛好是其百位數(shù)字。作業(yè)輸出Fibonacci數(shù)列:1,1,2,3,5,8,……的前20項(xiàng)。如果一個(gè)三位整數(shù)等于它的各位數(shù)的立方和,則此數(shù)稱為“水仙花數(shù)”,如153=13+53+33。編寫(xiě)程序輸出所有的水仙花數(shù)。要求:分別用單層循環(huán)結(jié)構(gòu)和多層循環(huán)結(jié)構(gòu)完成此題程序設(shè)計(jì)。(5)多重循環(huán)從三個(gè)紅球、五個(gè)白球、六個(gè)黑球中不放回的一個(gè)一個(gè)的任意取出八個(gè)球,且其中必須有白球,統(tǒng)計(jì)有多少種取法。凡是滿足x2+y2=z2的正整數(shù)數(shù)組(x,y,z)就稱為勾股數(shù)組(如3,4,5)。請(qǐng)找出任意一個(gè)正整數(shù)n以內(nèi)的所有勾股數(shù)組。作業(yè)如果一個(gè)三位整數(shù)等于它的各位數(shù)的立方和,則此數(shù)稱為“水仙花數(shù)”,如153=13+53+33。編寫(xiě)程序輸出所有的水仙花數(shù)。要求:自選用單層循環(huán)結(jié)構(gòu)或多層循環(huán)結(jié)構(gòu)完成此題程序設(shè)計(jì)。030405選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)程序的異常處理0102程序設(shè)計(jì)基礎(chǔ)順序結(jié)構(gòu)異常的含義Part01可能的異常情況Part02程序的異常處理try-except語(yǔ)句Part03異常即非正常狀態(tài),在Python中使用異常對(duì)象來(lái)表示異常。若程序在編譯或運(yùn)行過(guò)程中發(fā)生錯(cuò)誤,程序的執(zhí)行過(guò)程就會(huì)發(fā)生改變,拋出異常對(duì)象,程序流進(jìn)入異常處理。異常的含義例:num=eval(input("請(qǐng)輸入一個(gè)整數(shù)"))

print(num**2)異常回溯標(biāo)記異常文件路徑異常發(fā)生的代碼行數(shù)異常類型異常內(nèi)容提示輸入內(nèi)容可能出現(xiàn)的異常SyntaxError:invalidsyntax缺失“:”、符號(hào)“==”錯(cuò)誤、錯(cuò)誤使用關(guān)鍵字IndentationError:unexpectedindent縮進(jìn)出錯(cuò)NameError:name‘k'isnotdefined變量未定義或拼寫(xiě)錯(cuò)誤IndexError:listindexoutofrange引用超過(guò)list最大索引TypeError:canonlyconcatenatestr(not"int")tostr參與算術(shù)運(yùn)算的操作數(shù)不是數(shù)值類型Python使用try-except語(yǔ)句實(shí)現(xiàn)異常處理。【語(yǔ)法格式】(1)try:<語(yǔ)句塊1>except<異常類型>:<語(yǔ)句塊2>try-except語(yǔ)句例-異常處理語(yǔ)法(1):try:num=eval(input("請(qǐng)輸入一個(gè)整數(shù)"))

print(num**2)exceptNameError:print(“輸入錯(cuò)誤,請(qǐng)輸入一個(gè)整數(shù)!”)try-except語(yǔ)句【語(yǔ)法格式】(2)try:<語(yǔ)句塊1>except<異常類型1>:<語(yǔ)句塊2>…except:<語(yǔ)句塊n>try-except語(yǔ)句例-異常處理語(yǔ)法(2):try:alp=“ABCDEFGHIJKLMNOPQRSTUVWXYZ”idx=eval(input("請(qǐng)輸入一個(gè)整數(shù)"))

print(alp[idx])exceptNameError:print(“輸入錯(cuò)誤,請(qǐng)輸入一個(gè)整數(shù)!”)except:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論