




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
循環(huán)結(jié)構(gòu)的程序?qū)崿F(xiàn)課標(biāo)梳理教材重點(diǎn)課標(biāo)要求學(xué)業(yè)質(zhì)量水平循環(huán)結(jié)構(gòu)掌握f(shuō)or語(yǔ)句以及while語(yǔ)句的使用方法2-2教材研析循環(huán)結(jié)構(gòu)流程圖
首先,為循環(huán)變量設(shè)置初始值,然后判斷循環(huán)條件。若條件為真,則執(zhí)行循環(huán)體同時(shí)更改循環(huán)變量、繼續(xù)循環(huán);否則結(jié)束循環(huán)。1循環(huán)結(jié)構(gòu)的程序?qū)崿F(xiàn)1.程序?qū)崿F(xiàn):通過(guò)for語(yǔ)句和while語(yǔ)句來(lái)實(shí)現(xiàn)。2.for語(yǔ)句(1)格式for<變量>in<序列>:
<循環(huán)體>(2)通過(guò)遍歷序列中的元素實(shí)現(xiàn)循環(huán),并通過(guò)序列的元素?cái)?shù)量來(lái)控制循環(huán)次數(shù)
循環(huán)次數(shù)等于序列的元素個(gè)數(shù);從第1個(gè)元素開(kāi)始,每次循環(huán)從序列中按序取1個(gè)元素作為本次循環(huán)的變量值,并執(zhí)行一遍循環(huán)體中的代碼。(3)注意點(diǎn)①序列后的冒號(hào)不要遺忘②循環(huán)體縮進(jìn)(4)遍歷字符串每次循環(huán),變量依次指向字符串中的一個(gè)字符。格式如下:for<變量>in<字符串>:<循環(huán)體>典例1有如下Python程序段:s='為學(xué)須先立志'foriins:print(i,end=',')執(zhí)行上述代碼,輸出的結(jié)果為_(kāi)_______________。為,學(xué),須,先,立,志,
解析
for遍歷字符串s中的每個(gè)字符,且每次以,結(jié)束。
典例2將字符串s中的大寫(xiě)英文字母轉(zhuǎn)換成小寫(xiě)字母,實(shí)現(xiàn)上述功能的Python代碼如下:s=″HelloWorld!″s2=″
″for①__________:
if'A'<=ch<='Z': s2=②________________#大寫(xiě)字母轉(zhuǎn)換成小寫(xiě)字母ord('A'):65
ord('a'):97else: s2=s2+chprint('轉(zhuǎn)換成小寫(xiě)字母:',s2)請(qǐng)回答下列問(wèn)題:chinss2+chr(ord(ch)+32)(1)將劃線處代碼補(bǔ)充完整。(3)請(qǐng)給出②處的另外一種表達(dá)式。(2)for循環(huán)體中的if語(yǔ)句執(zhí)行總次數(shù)等于()A.s串中大寫(xiě)字母的個(gè)數(shù)B.s串中小寫(xiě)字母的個(gè)數(shù)C.s串中字符個(gè)數(shù)D.s串中大小寫(xiě)字母的總數(shù)Cs2+chr(ord(ch)-ord('A')+ord('a'))(4)請(qǐng)寫(xiě)出用for循環(huán)逆序輸出字符串s中小寫(xiě)字母的代碼。s2=″
″forchins[::-1]:
if'a'<=ch<='z':
s2+=chprint(″逆序輸出小寫(xiě)字母:″,s2)解析
(1)①枚舉s中的每個(gè)字符ch;②大寫(xiě)英文字母的ASCII碼值比相應(yīng)的小寫(xiě)字母ASCII碼值小32,因此其表達(dá)式如上。(2)if語(yǔ)句是在整個(gè)循環(huán)語(yǔ)句中的,因此是s中全部的字符數(shù)。典例3(2022浙江7月學(xué)考)某Python程序如下:p=″Tel-114″c=″
″forchinp: ifch>=″0″andch<=″9″:
c+=str(9-int(ch)) elifch>=″a″andch<=″z″:c+=chr(ord(ch)-ord(″a″)+\ord(″A″)) else:c+=chprint(c)程序運(yùn)行后,輸出的結(jié)果是()A.tEL-885 B.tEL-114C.TEL-114
D.TEL-885解析
由代碼可知,若是數(shù)字字符,則用9減去該數(shù)字,若是小寫(xiě)字母,則轉(zhuǎn)換為相應(yīng)的大寫(xiě)字母,若是其他情況則不進(jìn)行任何處理,直接按順序連接到變量c。因此當(dāng)輸入字符串為“Tel-114”,最后輸出字符串為“TEL-885”,故選D。D(5)遍歷列表每次循環(huán),變量依次指向列表中的一個(gè)元素。格式如下:for<變量>in<列表>:<循環(huán)體>(6)range函數(shù)①作用:指定序列中元素的個(gè)數(shù)和范圍。②格式:如下range(start,stop,step)③參數(shù)<1>start:計(jì)數(shù)從start開(kāi)始。默認(rèn)是從0開(kāi)始。例如range(5)等價(jià)于range(0,5)。典例4有如下Python程序段:x=0foriinrange(1,9,2):x=x+i該程序段執(zhí)行后,變量x的值是()A.9 B.16
C.25
D.36解析
本題考查循環(huán)結(jié)構(gòu)程序求值。for循環(huán)語(yǔ)句中的一個(gè)重要部分即步長(zhǎng)2,隨著每一次循環(huán)的執(zhí)行,循環(huán)變量都要在[初值,終值]的范圍內(nèi)增加或減少,直至循環(huán)結(jié)束。題中循環(huán)變量i的值在滿足[1,8]范圍內(nèi)的分別是1、3、5、7,通過(guò)循環(huán)體“x=x+i”語(yǔ)句將i的值不斷累加到變量x上,最后得到x的值為16。B典例5有如下Python程序段:s=0foriinrange(5,________,-1):
s=s+1若要使語(yǔ)句s=s+1執(zhí)行10次,則循環(huán)變量i終值應(yīng)為()A.-4 B.-5C.-6 D.-7解析
本題考查循環(huán)結(jié)構(gòu)。模擬后可知循環(huán)應(yīng)該到-5,-4~0共5次,1~5共5次。故選B。B(7)遍歷整數(shù)序列①若for語(yǔ)句遍歷的序列中的元素為有序整數(shù),則可以利用內(nèi)建函數(shù)range()來(lái)創(chuàng)建。②每次循環(huán),變量依次指向序列中的一個(gè)整數(shù)。格式如下:for變量inrange(start,stop,step):
<循環(huán)體>典例6(2023浙江7月學(xué)考)某Python程序如下:a=input(″輸入數(shù)字字符串:″)s=″
″flag=1foriinrange(0,len(a)-1,2):d1=int(a[i])d2=int(a[i+1])t=d1+flag
d2ift<0:t+=10elift>=10:t-=10s=str(t)+sflag=-flagiflen(a)%2==1:s+=a[len(a)-1]print(s)程序運(yùn)行時(shí),若輸入“48135”,則輸出的結(jié)果是()A.528 B.582C.825
D.285C解析
由代碼可知,將字符a中的數(shù)字每?jī)蓚€(gè)字符為一組進(jìn)行分組處理,t=d1+flag*d2,且flag的值將變號(hào)。然后將t逆序連接到字符s中。最后不能成對(duì)的一個(gè)字符順序連接到字符串s中。計(jì)算如下:第一組,flag=1,4+8=12,因此t=2,s=“2”;第二組,flag=-1,1-3=-2,所以t=8,故s=“82”。最后一個(gè)字符“5”,順序進(jìn)行連接,故s=“825”,因此本題選C。3.while語(yǔ)句(1)格式while<條件>:
<循環(huán)體>(2)執(zhí)行過(guò)程:首先判斷條件是否為真,若條件為真,則執(zhí)行一次循環(huán)體,再次判斷條件是否為真,若仍為真,則再執(zhí)行一次循環(huán)體,以此類推,直到條件為假時(shí)退出while語(yǔ)句。(3)作用:已知次數(shù)的循環(huán)用for(循環(huán)次數(shù)即遍歷序列的元素個(gè)數(shù))。在循環(huán)執(zhí)行前不知道其需要執(zhí)行的次數(shù)時(shí)用while循環(huán)。典例7要將1個(gè)十進(jìn)制數(shù)轉(zhuǎn)二進(jìn)制數(shù)。實(shí)現(xiàn)上述功能的Python程序如下,請(qǐng)?jiān)趧澗€處填上合適的代碼。d=int(input('請(qǐng)輸入1個(gè)十進(jìn)制正整數(shù):'))#方法:除二取余(循環(huán)執(zhí)行直至被除數(shù)為0)ans=''b=d①________________________y=b%2②________________________ans=str(y)+ansprint('十進(jìn)制數(shù)',d,'的二進(jìn)制值為:',ans)whileb!=0:b=b//2解析
①十進(jìn)制轉(zhuǎn)二進(jìn)制前不知道需要除二取余幾次才能得到結(jié)果
用while不用for。除二取余終止的條件是被除數(shù)為0反之只要被除數(shù)不為0,則繼續(xù)除二取余(循環(huán))滿足條件b!=0(被除數(shù)不為0)時(shí)循環(huán)。②每次循環(huán)得到本次除二取余的余數(shù)后,要為下次循環(huán)做好準(zhǔn)備
更新下次除二取余的被除數(shù)的值
用當(dāng)前的被除數(shù)除以2取整數(shù)部分得到b=b
//
2。4.break和continue語(yǔ)句(1)while循環(huán)在條件為假時(shí)結(jié)束,for循環(huán)在遍歷完序列后結(jié)束。若循環(huán)條件仍然為真或者序列沒(méi)有遍歷完時(shí),想要強(qiáng)行跳出循環(huán),可以用break語(yǔ)句。(2)continue語(yǔ)句,功能:結(jié)束當(dāng)前的當(dāng)次循環(huán),但不跳出循環(huán)結(jié)構(gòu),繼續(xù)判斷下一次執(zhí)行循環(huán)的條件是否成立。典例8判斷一個(gè)正整數(shù)是否為素?cái)?shù)(在大于1的自然數(shù)中,除了1和其本身以外,不能被任何一個(gè)數(shù)整除)的Python程序如下,請(qǐng)?jiān)趧澗€處填上合適的代碼。num=int(input('請(qǐng)輸入1個(gè)十進(jìn)制正\整數(shù):'))cs=2flag=Falsewhile①________________:
if②___________________:
flag=True
③__________cs=cs+1if④________________:
print(num,'是素?cái)?shù)')else:print(num,'不是素?cái)?shù)')cs<=num-1num%cs==0:Breakflag==False解析
①除數(shù)的范圍是2num-1
②循環(huán)內(nèi)部判斷數(shù)num是否能被當(dāng)前除數(shù)cs整除num
%
cs==0
③只要num能被2num-1之間任何一個(gè)除數(shù)cs整除,就不是素?cái)?shù),后面的除數(shù)不用再驗(yàn)證了,所以要終止循環(huán)break
④循環(huán)中被整除num不是素?cái)?shù)時(shí),flagTrue,所以flag為T(mén)rue代表著不是素?cái)?shù)。5.循環(huán)嵌套循環(huán)結(jié)構(gòu)中,允許在一個(gè)循環(huán)體里面嵌入另一個(gè)循環(huán)。典例9輸出當(dāng)前序列中所有素?cái)?shù)的Python程序如下,請(qǐng)?jiān)趧澗€處填上合適的代碼。b=int(input('請(qǐng)輸入一個(gè)正整數(shù)作為\序列起點(diǎn):'))e=int(input('請(qǐng)輸入一個(gè)正整數(shù)作為\序列終點(diǎn):'))①________foriinrange(②________________):
cs=2 flag=False#以下while循環(huán)(內(nèi)循環(huán))嵌套在for循環(huán)(外循環(huán))中ans=''
b,e+1,1(或b,e+1)whilecs<=i-1:
ifi%cs==0:
flag=True
breakcs=cs+1ifflag==False:
ans=ans+''+str(i)print(b,'~',e,'中的素?cái)?shù)有:',ans)解析
①變量在使用前要先賦值
結(jié)果字符串a(chǎn)ns在循環(huán)前要先賦值空串。②題目要檢測(cè)序列中每個(gè)數(shù)是否是素?cái)?shù),所以要遍歷序列中的每個(gè)數(shù)step為1;start為輸入的起點(diǎn)b;遵循“前閉后開(kāi)”規(guī)則,stop為輸出的終點(diǎn)e的后一個(gè)數(shù)e+1。典例10將一張長(zhǎng)a厘米、寬b厘米的長(zhǎng)方形紙沿直線剪開(kāi),剪出一個(gè)正方形,再在剩下的部分上繼續(xù)裁剪,每次只剪一刀,但
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京市通州區(qū)2024-2025學(xué)年高二上學(xué)期期末考試生物學(xué)試題(含答案)
- 產(chǎn)品使用體驗(yàn)數(shù)據(jù)收集表
- 農(nóng)民合作社互助保險(xiǎn)協(xié)議
- 農(nóng)村新型農(nóng)業(yè)組織發(fā)展合作協(xié)議
- 鄉(xiāng)村有機(jī)果園經(jīng)營(yíng)管理協(xié)議
- 物資采購(gòu)框架協(xié)議
- 人力資源派遣與服務(wù)外包合同
- 生產(chǎn)物料采購(gòu)周期表
- 西游記中的團(tuán)隊(duì)精神與道德啟示評(píng)析
- 《星系與宇宙探索概述:九年級(jí)地理教學(xué)教案》
- 核心素養(yǎng)導(dǎo)向下的高中歷史大單元教學(xué)設(shè)計(jì)研究課題設(shè)計(jì)論證
- 員工入職登記表
- 2024年新疆維吾爾自治區(qū)招聘事業(yè)單位工作人員考試真題
- 科技創(chuàng)新在環(huán)境保護(hù)中的重要作用研究報(bào)告
- 2025年濟(jì)源職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)學(xué)生專用
- 《金融市場(chǎng)分析方法》課件
- 卵巢癌的篩查:如何進(jìn)行卵巢癌的早期篩查
- 2025年南網(wǎng)數(shù)字集團(tuán)公開(kāi)選聘高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 5G基站建設(shè)的審批流程與標(biāo)準(zhǔn)
- 西門(mén)子S7-1200 PLC應(yīng)用技術(shù)項(xiàng)目教程(第3版) 考試復(fù)習(xí)題
- 人工智能在招聘行業(yè)的應(yīng)用
評(píng)論
0/150
提交評(píng)論