Python實(shí)驗(yàn)5循環(huán)結(jié)構(gòu)2_第1頁
Python實(shí)驗(yàn)5循環(huán)結(jié)構(gòu)2_第2頁
Python實(shí)驗(yàn)5循環(huán)結(jié)構(gòu)2_第3頁
Python實(shí)驗(yàn)5循環(huán)結(jié)構(gòu)2_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)五 循環(huán)結(jié)構(gòu)(續(xù))【實(shí)驗(yàn)?zāi)康摹?1掌握range()函數(shù)的使用2. 掌握For語句的使用。3掌握循環(huán)嵌套的使用。4掌握一些常用的算法(求素?cái)?shù)、窮舉法、求和與乘積、遞推法)?!緦?shí)驗(yàn)內(nèi)容】 0000000001、 填空(1) 在命令行中顯示1 到10的數(shù)字 range(1,11) 。(2) 在命令行中顯示 1到10的所有偶數(shù) range(2,11,2) 。(3) 顯示所有的大寫字符。for i in range(65,91) :print chr(i) (4) 顯示1-100能被3整除的數(shù),并且每5個(gè)數(shù)打印一行。i=0 記錄能被3整除的個(gè)數(shù)for j in range(1,101):if j%

2、3=0:print j,i+=1if i%5=0:print2、輸出斐波那契級(jí)數(shù)1、1、2、3、5、8、13,此級(jí)數(shù)項(xiàng)的規(guī)律是:前兩項(xiàng)的值各為1,從第3項(xiàng)起,每一項(xiàng)是前2項(xiàng)的和。(要求一行輸出6項(xiàng))。(1) 當(dāng)某項(xiàng)的數(shù)值大于或等于30000時(shí)結(jié)束。(2) 求前100項(xiàng)之和。(2)a=1b=1sum=2i=2 #計(jì)數(shù)while True: i+=1 #計(jì)數(shù):第i次 c=a+b a=b b=c sum+=c if i=100: #完成第100次求和后退出循環(huán) breakprint sum(1)a=1b=1print a,b,i=2 #計(jì)數(shù)while True:i+=1 #計(jì)數(shù):第i次 c=a+b

3、a=b b=c if c>=30000: break print c, if i%6=0: print(1)1 1 2 3 5 813 21 34 55 89 144233 377 610 987 1597 25844181 6765 10946 17711 28657(23、編寫程序,輸入一個(gè)數(shù),判斷該數(shù)是否為完數(shù)。例如6是一個(gè)完數(shù),因?yàn)?=1+2+3。x=input("Enter an integer:")i=1while True: x=x-i i+=1 if x=i: print "A perfect number." break if x

4、<i: print "Not a perfect number." break4、完成程序,使之能在窗體上顯示有規(guī)律的圖形。for i in range(1,10): print (format(2*i-1)*str(i),"17")x="*"for i in range(1,8): if i<=4: print (format(2*i-1)*x,"7") if i>4: print (format(15-2*i)*x,"7")*號(hào)題變式:x=raw_input("E

5、nter a character:")c=input("Enter the linage(an odd number):")d=str(c+1)for i in range(1,c+1): if i<=c/2+1: print (format(2*i-1)*x,""+d) if i>c/2+1: print (format(2*c+1-2*i)*x,""+d)5、 編寫程序,顯示所有的水仙花數(shù)。(難點(diǎn),嵌套循環(huán))(1)最優(yōu)法:for i in range(100,1000): c=i%10 #個(gè)位數(shù) b=i/10

6、%10 #十位數(shù) a=i/10/10 #百位數(shù) if i=a*3+b*3+c*3: print i(2)for i in range(1,10): for j in range(0,10): for k in range(0,10): if 100*i+10*j+k=i*3+j*3+k*3: print i*3+j*3+k*3(3)for i in range(100,1000): a=i/100 b=(i-100*a)/10 c=i-100*a-10*b if i=a*3+b*3+c*3: print i6、編程實(shí)現(xiàn)求11000中所有的素?cái)?shù)并打印,要求每行打印10個(gè)元素。c=0for x i

7、n range(1,1000): if x=1: continue for i in range(2,x): if x%i=0: break else: print x, c+=1 if c%10=0: print7、輸入一系列數(shù)字,并求和與求平均數(shù).要求:(1)可以進(jìn)行多次輸入,并以“.“作為輸入結(jié)束的標(biāo)志。 (2)有容錯(cuò)功能,當(dāng)輸入非數(shù)字時(shí),提示錯(cuò)誤,并可以等待進(jìn)行下一次的輸入 (3)輸入完成后可以進(jìn)行求和與求平均數(shù),并打印。c=0sum=0while True: x=raw_input("Enter:") while str.isdigit(x)=False and

8、x!=".": x=raw_input("Error.Please enter a number:") if x=".": break sum=sum+float(x) c+=1ave=sum/cprint "sum=%d"%sum,"average=%d"%ave8、猴子吃桃問題:猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不癮,又多吃了一個(gè)第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第10天早上想再吃時(shí),見只剩下一個(gè)桃子了。求第一天共摘了多少。程序分析:采取逆向思維的方法,從后往前推斷。i=0y=1while True: i=i+1 y=(y+1)*2 if i=10: flag=False breakprint y附加:兔子問題古典問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長到第三個(gè)月每個(gè)月又生一對(duì)兔子,假如兔子都不死,問每個(gè)月的兔子總數(shù)為多少?sum=2m=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論