




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章循環(huán)結(jié)構(gòu)第4章
循環(huán)結(jié)構(gòu)for語(yǔ)句while語(yǔ)句breakcontinuepasselse循環(huán)結(jié)構(gòu)的嵌套循環(huán)結(jié)構(gòu)程序舉例循環(huán)語(yǔ)句有時(shí)需要重復(fù)多次執(zhí)行一系列語(yǔ)句,因此需要循環(huán)語(yǔ)句Python中循環(huán)包括兩種:遍歷循環(huán)和無(wú)限循環(huán)。遍歷循環(huán):for...in依次提取遍歷結(jié)構(gòu)各元素進(jìn)行處理;無(wú)限循環(huán):while根據(jù)判斷條件執(zhí)行程序。for循環(huán)語(yǔ)句4for
<循環(huán)變量>
in<遍歷結(jié)構(gòu)>
:
<語(yǔ)句塊>-由關(guān)鍵字字for和in組成,完整遍歷所有元素后結(jié)束-遍歷結(jié)構(gòu):range(..)、字符串、列表、元組、字典、集合-每次循環(huán),所獲得元素放入循環(huán)變量,并執(zhí)行一次語(yǔ)句塊for循環(huán)語(yǔ)句(計(jì)數(shù)循環(huán))5foriinrange(2):#[0,2)print(i)01foriinrange(2,5):#[2,5)print(i)234foriinrange(2,5,2):#步長(zhǎng)2print(i)24AAforiinrange(3,12,3):print(i,"",end="")輸出結(jié)果是:36936912345678910113456789101112BCDfor循環(huán)遍歷字符串7for循環(huán)遍歷列表–寫法18a=['banana','apple','mango']foriina: print(i)bananaapplemango下面程序的輸出結(jié)果是()。s=["橘子","芒果","草莓","西瓜","水蜜桃"]forkins:print(k,end="")A、橘子芒果草莓西瓜水蜜桃B、橘子芒果草莓西瓜水蜜桃c、西瓜D、"橘子""芒果""草莓""西瓜""水蜜桃"for循環(huán)遍歷列表–寫法29a=['banana','apple','mango']foriinrange(len(a)): #len求列表長(zhǎng)度(元素個(gè)數(shù))print(i,a[i])0banana1apple2mangolen用來(lái)求字符串長(zhǎng)度,元組、集合、字典元素個(gè)數(shù)print(len("abc"))#>>3為了使以下代碼的執(zhí)行結(jié)果是:中國(guó),韓國(guó),日本,巴基斯坦,蒙古country=['中國(guó)','韓國(guó)','日本','巴基斯坦','蒙古']n=1forcincountry:ifn<len(country):print(____)else:print(c)n=n+1在橫線處要補(bǔ)充的代碼是()
。A、c,end=","B、cC、c,”,”D、c,sep=","for循環(huán)遍歷元組11Python使用for和in的組合表達(dá)遍歷循環(huán),不能被遍歷的數(shù)據(jù)類型是()。A、復(fù)數(shù)類型B、元組類型c、字典類型D、字符串類型4.1.2for循環(huán)程序舉例【例4.1】求1+2+3+…+100的和。s=0s+1→ss+2→ss+3→s…..s+100→ss=s+通項(xiàng)【例4.1】求1+2+3+…+100的和。程序代碼s=0foriinrange(1,101):s=s+iprint("1+2+3+...+100=%d"%s)【例4.2】求n!,即1×2×3×4×…×ns=1n=int(input("請(qǐng)輸入1個(gè)整數(shù):"))foriinrange(1,n+1):s=s*iprint("%d!=%d"%(n,s))【例4.3】輸出所有的“水仙花數(shù)”,所謂的“水仙花數(shù)”是指一個(gè)三位數(shù)其各位數(shù)字的立方和等于該數(shù)本身,例如153是“水仙花數(shù)”,153=1*1*1+5*5*5+3*3*3foriinrange(100,1000):a=i%10b=i//10%10
c=i//100ifa**3+b**3+c**3==i:
print("%d是水仙花數(shù)"%i)4.2.1while循環(huán)的結(jié)構(gòu)while表達(dá)式:
語(yǔ)句塊語(yǔ)句塊(循環(huán)體):重復(fù)做的事,用相同的代碼寫出來(lái)4.2while循環(huán)i=1whilei<5:print(i)i=i+11812345i=1whilei<5:print(i)i=i+1whilea=0:print("Hello")
SyntaxError:invalidsyntax4.2.2while循環(huán)程序舉例【例4.4】使用while循環(huán)實(shí)現(xiàn)”猜數(shù)字”小游戲。猜數(shù)字游戲的規(guī)則是:隨機(jī)生成一個(gè)1到100之間的數(shù),玩家輸入自己猜的數(shù)字,計(jì)算機(jī)給出對(duì)應(yīng)的提示信息(再大一點(diǎn)、再小一點(diǎn)或猜對(duì)了),如果玩家猜中了數(shù)字,計(jì)算機(jī)提示用戶一共猜了多少次,游戲結(jié)束,否則游戲繼續(xù)。importrandomanswer=random.randint(1,100)number=int(input('猜一個(gè)1-100的數(shù):'))n=1whilenumber!=answer:ifnumber<answer:print('再大一點(diǎn)')else:print('再小一點(diǎn)')number=int(input('再猜:'))
n+=1print(f'恭喜你猜對(duì)了!共猜了{(lán)n}次')【例4.5】斐波那契數(shù)列:0、1、1、2、3、5、8、13、21、34、…根據(jù)斐波那契數(shù)列的定義,F(xiàn)(0)=0,F(xiàn)(1)=1,F(n)=F(n-1)+F(n-2)(n>=2),輸出不大于50的序列元素。分析:從第三項(xiàng)開始,每一項(xiàng)都等于前兩項(xiàng)之和。 0 1 第一次:
a b 第二次:
a
第三次:...... 1bb=a+ba=ba,b=b,a+bprint(a)程序代碼:a,b=0,1whilea<=50:print(a,end=',')a,b=b,a+b4.3.1break語(yǔ)句通常和if語(yǔ)句連用,用于滿足某條件時(shí),執(zhí)行到break語(yǔ)句,結(jié)束循環(huán)。234.3循環(huán)中的break、continue、pass和elseforiinrange(1,10):print("*")if(i==5):print("循環(huán)結(jié)束")break*****循環(huán)結(jié)束【例4.6】輸入一個(gè)整數(shù),判斷是否是素?cái)?shù)。算法分析:
素?cái)?shù)即質(zhì)數(shù),是指在大于1的自然數(shù)中,除了1和它自身外,不能被其他自然數(shù)整除的數(shù)。使用窮舉法,遍歷求模進(jìn)行判斷。將flag作為素?cái)?shù)標(biāo)識(shí),初值為True(認(rèn)為n是素?cái)?shù))。窮舉n可能的因子2到n-1,遍歷進(jìn)行求模運(yùn)算。一旦整除,將flag賦值為False,同時(shí)執(zhí)行break語(yǔ)句,跳出循環(huán)。最后通過(guò)判斷flag的值,輸出結(jié)果。n=int(input("請(qǐng)輸入一個(gè)數(shù):"))flag=True
foriin
range(2,n):
ifn%i==0:flag=Falsebreak
ifflag=True:
print(n,"是素?cái)?shù)。")else:
print(n,"不是素?cái)?shù)。")以下代碼的輸出結(jié)果是()。forsin"PythonNice!"":ifs==“i":breakprint(s,end=“")A、PythonB、PythonNc、PythonNiD、PythonNice4.3.2continue語(yǔ)句
結(jié)束當(dāng)次循環(huán),繼續(xù)執(zhí)行后續(xù)次數(shù)循環(huán)foriinrange(1,10):
if(i<=5):
continue
print(i)
****以下代碼的輸出結(jié)果是()。foriinrange(1,6):ifi%4==0:continueelse:print(i.end=",")A、1,2,3,B、1,2,3,4,c、1,2,3,5,D、1,2,3,5,6以下代碼的輸出結(jié)果是()。forsin"grandfather":ifs=="d"ors=='h':continueprint(s,end=")A、grandfatherB、granfaterC、grandD、father4.3.3pass語(yǔ)句空語(yǔ)句,它不做任何操作。forxinrange(10):pass
循環(huán)的確10次,但是除了循環(huán)本身之外,它什么也沒做。while
表達(dá)式:
語(yǔ)句組1else:
語(yǔ)句組2........判斷表達(dá)式
是否為真,若為真轉(zhuǎn)2),若為假轉(zhuǎn)3)執(zhí)行語(yǔ)句組1,回到1)執(zhí)行語(yǔ)句組2繼續(xù)往下執(zhí)行........31else中的語(yǔ)句會(huì)在循環(huán)正常執(zhí)行完的情況下執(zhí)行4.3.4else語(yǔ)句x=0whilex<5:print(x,"小于5")x=x+1else:print(x,"大于或等于5")320小于51小于52小于53小于54小于55大于或等于5【例4.7】輸入一個(gè)整數(shù),判斷是否是素?cái)?shù)。n=int(input("請(qǐng)輸入一個(gè)整數(shù):"))foriinrange(2,n):ifn%i==0:print("{}不是素?cái)?shù)".format(n))breakelse:print("{}是素?cái)?shù)".format(n))下面代碼的輸出結(jié)果是()。x=10whilex:x=x-1ifx%2:print(x,end=")else:passA、86420B、975311c、97531D、8642004.4循環(huán)語(yǔ)句的嵌套(多重循環(huán))如果一個(gè)循環(huán)結(jié)構(gòu)的循環(huán)體又包括一個(gè)循環(huán)結(jié)構(gòu)foriinrange(5):forjinrange(10):print("*",end="")print()
實(shí)現(xiàn)一個(gè)5行10列的星號(hào)圖:**************************************************下面代碼的輸出結(jié)果是()。foriin"PYTHON":forkinrange(2):print(i,end="")A、PPYYTTHHOONNB、PPYYTTOONNc、PPYYTTHOONND、PPYYTTH【例4.8】輸入整數(shù)n,輸出一個(gè)n-1行的數(shù)字三角形陣列。該陣列每行包含的整數(shù)序列為從該行序號(hào)開始到n-1,例如第1行包含1到n-1的整數(shù),第i行包含從i到n-1的整數(shù)。例如輸入:8輸出:1234567234567345674567567677n=eval(input("請(qǐng)輸入一個(gè)整數(shù):"))foriinrange(1,n):
forjinrange(i,n):
print(j,end='')
print()【例4.9】編寫程序輸出3~100之間的全部質(zhì)數(shù)。分析:可分為以下兩步。(1)判斷一個(gè)數(shù)是否為素?cái)?shù)。(2)對(duì)指定范圍內(nèi)的每一個(gè)數(shù)都執(zhí)行(1)forninrange(3,101):
flag=True
foriinrange(2,n):
ifn%i==0:
flag=False
break
ifflag==True:
print(n,end="\t")4.5循環(huán)語(yǔ)句的綜合應(yīng)用例4.10
我國(guó)古代的《張丘建算經(jīng)》中有
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝飾材料清倉(cāng)方案
- 預(yù)約掛號(hào)服務(wù)流程優(yōu)化方案
- 閘壩施工導(dǎo)流方案
- 買賣股份協(xié)議書范本
- 間歇鼻飼的護(hù)理
- 煤氣鍋爐安裝方案
- 家庭房屋劃分協(xié)議書范本
- 學(xué)生校園安全教育知識(shí)
- 夜市商業(yè)規(guī)劃方案
- 綠化苗子養(yǎng)護(hù)方案
- 社區(qū)獲得性肺炎ppt
- 直流屏檢修作業(yè)指導(dǎo)書(word文檔)
- YY/T 1293.2-2022接觸性創(chuàng)面敷料第2部分:聚氨酯泡沫敷料
- GB/T 19404-2003微波鐵氧體器件主要性能測(cè)量方法
- GB/T 18418-2017家用衛(wèi)生殺蟲用品電熱蚊香液
- GB/T 17456.2-2010球墨鑄鐵管外表面鋅涂層第2部分:帶終飾層的富鋅涂料涂層
- 政府用地項(xiàng)目用地報(bào)批流程
- 高校畢業(yè)生學(xué)籍檔案管理課件
- 老年人的生理變化特點(diǎn)課件
- 徐健順吟誦文集(.12.16)
- 臨床藥師用藥干預(yù)記錄表
評(píng)論
0/150
提交評(píng)論