版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第4章循環(huán)結(jié)構(gòu)第4章
循環(huán)結(jié)構(gòu)for語句while語句breakcontinuepasselse循環(huán)結(jié)構(gòu)的嵌套循環(huán)結(jié)構(gòu)程序舉例循環(huán)語句有時需要重復(fù)多次執(zhí)行一系列語句,因此需要循環(huán)語句Python中循環(huán)包括兩種:遍歷循環(huán)和無限循環(huán)。遍歷循環(huán):for...in依次提取遍歷結(jié)構(gòu)各元素進行處理;無限循環(huán):while根據(jù)判斷條件執(zhí)行程序。for循環(huán)語句4for
<循環(huán)變量>
in<遍歷結(jié)構(gòu)>
:
<語句塊>-由關(guān)鍵字字for和in組成,完整遍歷所有元素后結(jié)束-遍歷結(jié)構(gòu):range(..)、字符串、列表、元組、字典、集合-每次循環(huán),所獲得元素放入循環(huán)變量,并執(zhí)行一次語句塊for循環(huán)語句(計數(shù)循環(huán))5foriinrange(2):#[0,2)print(i)01foriinrange(2,5):#[2,5)print(i)234foriinrange(2,5,2):#步長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求列表長度(元素個數(shù))print(i,a[i])0banana1apple2mangolen用來求字符串長度,元組、集合、字典元素個數(shù)print(len("abc"))#>>3為了使以下代碼的執(zhí)行結(jié)果是:中國,韓國,日本,巴基斯坦,蒙古country=['中國','韓國','日本','巴基斯坦','蒙古']n=1forcincountry:ifn<len(country):print(____)else:print(c)n=n+1在橫線處要補充的代碼是()
。A、c,end=","B、cC、c,”,”D、c,sep=","for循環(huán)遍歷元組11Python使用for和in的組合表達遍歷循環(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+通項【例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("請輸入1個整數(shù):"))foriinrange(1,n+1):s=s*iprint("%d!=%d"%(n,s))【例4.3】輸出所有的“水仙花數(shù)”,所謂的“水仙花數(shù)”是指一個三位數(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表達式:
語句塊語句塊(循環(huán)體):重復(fù)做的事,用相同的代碼寫出來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)實現(xiàn)”猜數(shù)字”小游戲。猜數(shù)字游戲的規(guī)則是:隨機生成一個1到100之間的數(shù),玩家輸入自己猜的數(shù)字,計算機給出對應(yīng)的提示信息(再大一點、再小一點或猜對了),如果玩家猜中了數(shù)字,計算機提示用戶一共猜了多少次,游戲結(jié)束,否則游戲繼續(xù)。importrandomanswer=random.randint(1,100)number=int(input('猜一個1-100的數(shù):'))n=1whilenumber!=answer:ifnumber<answer:print('再大一點')else:print('再小一點')number=int(input('再猜:'))
n+=1print(f'恭喜你猜對了!共猜了{(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的序列元素。分析:從第三項開始,每一項都等于前兩項之和。 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語句通常和if語句連用,用于滿足某條件時,執(zhí)行到break語句,結(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】輸入一個整數(shù),判斷是否是素數(shù)。算法分析:
素數(shù)即質(zhì)數(shù),是指在大于1的自然數(shù)中,除了1和它自身外,不能被其他自然數(shù)整除的數(shù)。使用窮舉法,遍歷求模進行判斷。將flag作為素數(shù)標(biāo)識,初值為True(認(rèn)為n是素數(shù))。窮舉n可能的因子2到n-1,遍歷進行求模運算。一旦整除,將flag賦值為False,同時執(zhí)行break語句,跳出循環(huán)。最后通過判斷flag的值,輸出結(jié)果。n=int(input("請輸入一個數(shù):"))flag=True
foriin
range(2,n):
ifn%i==0:flag=Falsebreak
ifflag=True:
print(n,"是素數(shù)。")else:
print(n,"不是素數(shù)。")以下代碼的輸出結(jié)果是()。forsin"PythonNice!"":ifs==“i":breakprint(s,end=“")A、PythonB、PythonNc、PythonNiD、PythonNice4.3.2continue語句
結(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語句空語句,它不做任何操作。forxinrange(10):pass
循環(huán)的確10次,但是除了循環(huán)本身之外,它什么也沒做。while
表達式:
語句組1else:
語句組2........判斷表達式
是否為真,若為真轉(zhuǎn)2),若為假轉(zhuǎn)3)執(zhí)行語句組1,回到1)執(zhí)行語句組2繼續(xù)往下執(zhí)行........31else中的語句會在循環(huán)正常執(zhí)行完的情況下執(zhí)行4.3.4else語句x=0whilex<5:print(x,"小于5")x=x+1else:print(x,"大于或等于5")320小于51小于52小于53小于54小于55大于或等于5【例4.7】輸入一個整數(shù),判斷是否是素數(shù)。n=int(input("請輸入一個整數(shù):"))foriinrange(2,n):ifn%i==0:print("{}不是素數(shù)".format(n))breakelse:print("{}是素數(shù)".format(n))下面代碼的輸出結(jié)果是()。x=10whilex:x=x-1ifx%2:print(x,end=")else:passA、86420B、975311c、97531D、8642004.4循環(huán)語句的嵌套(多重循環(huán))如果一個循環(huán)結(jié)構(gòu)的循環(huán)體又包括一個循環(huán)結(jié)構(gòu)foriinrange(5):forjinrange(10):print("*",end="")print()
實現(xiàn)一個5行10列的星號圖:**************************************************下面代碼的輸出結(jié)果是()。foriin"PYTHON":forkinrange(2):print(i,end="")A、PPYYTTHHOONNB、PPYYTTOONNc、PPYYTTHOONND、PPYYTTH【例4.8】輸入整數(shù)n,輸出一個n-1行的數(shù)字三角形陣列。該陣列每行包含的整數(shù)序列為從該行序號開始到n-1,例如第1行包含1到n-1的整數(shù),第i行包含從i到n-1的整數(shù)。例如輸入:8輸出:1234567234567345674567567677n=eval(input("請輸入一個整數(shù):"))foriinrange(1,n):
forjinrange(i,n):
print(j,end='')
print()【例4.9】編寫程序輸出3~100之間的全部質(zhì)數(shù)。分析:可分為以下兩步。(1)判斷一個數(shù)是否為素數(shù)。(2)對指定范圍內(nèi)的每一個數(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īng)用例4.10
我國古代的《張丘建算經(jīng)》中有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 影視設(shè)備行業(yè)戰(zhàn)略咨詢服批發(fā)考核試卷
- 住宅建筑的建筑顧問和項目監(jiān)理考核試卷
- 內(nèi)陸?zhàn)B殖的人工智能應(yīng)用案例考核試卷
- 傳統(tǒng)肉制品加工工藝考核試卷
- 崗位說明書編寫課件
- 數(shù)字創(chuàng)意產(chǎn)業(yè)的發(fā)展趨勢與未來展望考核試卷
- 2024采購助理年度工作總結(jié)(30篇)
- SB234551-生命科學(xué)試劑-MCE
- 混凝土施工承包的合同
- 抓娃娃企業(yè)規(guī)劃書
- 急診科醫(yī)學(xué)科普知識宣傳
- 8度12層框架結(jié)構(gòu)計算書
- 一年級《舞蹈基礎(chǔ)課》全教案
- 2023-2024學(xué)年成都市成華區(qū)九年級語文上學(xué)期期末試卷附答案解析
- 金屬有機化學(xué)通用課件
- 美國大選與美式民主課件
- 品管圈吸煙課件
- 民用爆炸品培訓(xùn)課件
- 民宿計劃書及方案模板
- 港口行業(yè)經(jīng)營分析
- 2024年北京通建信息系統(tǒng)有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論