NCT等級(jí)測(cè)試-Python編程三級(jí)真題測(cè)試卷3精品程序填空閱讀填空程序試題_第1頁
NCT等級(jí)測(cè)試-Python編程三級(jí)真題測(cè)試卷3精品程序填空閱讀填空程序試題_第2頁
NCT等級(jí)測(cè)試-Python編程三級(jí)真題測(cè)試卷3精品程序填空閱讀填空程序試題_第3頁
NCT等級(jí)測(cè)試-Python編程三級(jí)真題測(cè)試卷3精品程序填空閱讀填空程序試題_第4頁
NCT等級(jí)測(cè)試-Python編程三級(jí)真題測(cè)試卷3精品程序填空閱讀填空程序試題_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、NC邙級(jí)測(cè)試-Python編程三級(jí)真題測(cè)試卷3精品程序填空閱讀填空程序試題 一、程序填空 1 .(項(xiàng)目情境)遞歸就是自己調(diào)用自己,它是設(shè)計(jì)和描述算法的一種有力工具,常常用來 解決比較復(fù)雜的問題。為求解規(guī)模為N的問題,設(shè)法將它分解成規(guī)模較小的問題,從小問 題的解容易構(gòu)造出大問題的解,并且這些規(guī)模問題較小的問題也能采用同樣的分解方法, 分解成規(guī)模更小的問題,并能從這些更小問題的解構(gòu)造出規(guī)模較大問題的解。一般情況 下,規(guī)模N=1時(shí),問題的解是已知的。已知:從1至ijn的連續(xù)自然數(shù)相乘的積、叫做階 乘、用符號(hào)n!表示。如5!=1X2X3X4X5規(guī)定0!=1。我們用遞歸算法可以較容易求n的 階乘。求n的

2、階乘算法可以描述如下: n!=n*(n-1)!(n-1)!=(n-1)*(n-2)!(n-2)!=(n-2)*(n-3)! 2!=2*1!1!=0!0!=1 如果把n!寫成函數(shù)形式,即f(n),f(n)=n*f(n-1)。如f(5)就是表示5!,求5!的過程可以寫成 如下形式: f(5)=5*f(4)f(4)=4*f(3)f(3)=3*f(2)f(2)=2*f(1)f(1)=1 (問題求解)在python中用遞歸算法求1!+2!+n!(n的值為整數(shù),從鍵盤輸 入)。請(qǐng)閱讀如下程序,在空白處填寫適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整。 deff(n): ifn=0: return1 else: retu

3、rn s=0 n=int(input(請(qǐng)輸入n:) foriin: s= print(s) 2 .程序編寫 求1+22+32+1002的結(jié)果 input(“運(yùn)行完畢,請(qǐng)按回車鍵退出”) 3 .閱讀程序。分析有關(guān)多項(xiàng)式的代碼并回答問題。 求1!+2!+3!+20!的和。 n=0 s=0 t=1 forninrange(1,21) t*=ns+=t print(s) s+=t prinl(sfend:) (1) n的作用是。 (2) s的作用是。 (3) t的初值必須賦值為1,這是因?yàn)?(4) t*=n的等價(jià)語句是 (5) s+=t的等價(jià)語句是。 4 .調(diào)試程序。請(qǐng)閱讀以下程序并寫出運(yùn)行結(jié)果。 F

4、ileEditFormrtRun= i=0i=0 whilei10: -fi%3=0;EUJH-1printCL)1=1+1printwri,,35) #ex16.py i=0 sum=0 whileil ift=head: i=1 p+=1 long=long-1k=llistk1 i+=1 print(llisthead0) 7 .計(jì)算機(jī)解決問題的過程為“分析問題一一設(shè)計(jì)算法(流程圖)一一編寫程序一一調(diào)試程序”, 1 03 項(xiàng)目小組成員在某網(wǎng)的站點(diǎn)上獲取到如下信息:筆記本項(xiàng)目小組成員在某網(wǎng)的站點(diǎn)上獲取到如下信息:筆記本 1 的單價(jià)是的單價(jià)是 3 元元. .苣記本苣記本 2 的單價(jià)是的單價(jià)是

5、 5 元元. .如果兩如果兩種楚記本同時(shí)購買,價(jià)格可次打種楚記本同時(shí)購買,價(jià)格可次打 X 折計(jì)折計(jì) T 一下,峋買筆記本一下,峋買筆記本 1 和筆記本和筆記本 2 各各H本本, ,可送優(yōu)惠多少元?(以元為可送優(yōu)惠多少元?(以元為單拉,單拉,0 舍五人到小數(shù)點(diǎn)后兩位)舍五人到小數(shù)點(diǎn)后兩位) 請(qǐng)輸入以下代碼,自己輸入數(shù)據(jù)運(yùn)行,結(jié)果截圖提交 ICE*D /*人曲值/ 工 .爭* 第./ C)q41,py=Ci/Uscrt/huArlgCJixid/DesktOp/J-l.py7Q) FileEditFormatRunOptionsWindowHelp rint(input(“輸.購買的堂記本:二:.

6、:/:)a=3*n b=5*n y=(a+b)(1-0.8) 港記本 1 和室記本 2 的林里為 nJ 本火) print可節(jié)貨的金的為二 F.2U元3 8 .編寫一個(gè)程序,它將找到所有這些數(shù)字,可被7整除,但不是5的倍數(shù),2000年至 3200年(包括在內(nèi))。得到的數(shù)字應(yīng)按逗號(hào)分隔的順序打印在一行上。提示:考慮使用 range(#begin,#end) 9 .輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。 10 .求水仙花數(shù)(一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)字本身) 11 .地球繞太陽的運(yùn)行周期為365天5小時(shí)48分46秒(合365.24219天),即一回歸 年。公歷

7、的平年只有365天,比回歸年短約0.2422天,每四年累積約一天,把這一天加于 2月末(即2月29日),使當(dāng)年的時(shí)間長度變?yōu)?66天,這一年就是閏年。判斷某一年是 否是閏年的方法是年份數(shù)能被4整除,但不能被100整除,或者年份數(shù)能被400整除。以 下是一段用于判斷某一年是否是閏年的程序。 year=i陰請(qǐng)輸入您要判斷的年份: year=int(year)# result-(year%4=0)(year%400=0)ifresuIt: *=不是” print(str()+*年*+s+*國年*) 請(qǐng)將上面程序框中空格處的內(nèi)容填寫完整,其中處填寫代碼注釋 12 .完善程序?qū)崿F(xiàn)以下功能并保存。 輸入一

8、元二次方程的系數(shù)a,b,c的值,求解一元二次方程ax2+bx+c=0(aW0) 請(qǐng)輸入方程系數(shù)白請(qǐng)輸入方程系數(shù)白/ /巾巾5清輸入方程系數(shù)清輸入方程系數(shù)b:-3定輸入方程系數(shù)定輸入方程系數(shù)16 方程有兩不亦同的解方程有兩不亦同的解3.02.0 玲蛙生兩拉回隼纏退出玲蛙生兩拉回隼纏退出 #請(qǐng)不要更改源程序的結(jié)構(gòu),刪除原題里的、。填寫正確的代碼,使程序完善importmath a=float(input(請(qǐng)輸入方程系數(shù)a(!=0):) b=float(input(請(qǐng)輸入方程系數(shù)b:) c=float(input(請(qǐng)輸入方程系數(shù)c:) delta=b*b-4*a*c ifdelta: x1=(-b+

9、math.sqrt(delta)/(2*a) x2=(-b-math.sqrt(delta)/(2*a) print(方程有兩個(gè)不同的解,x1,x2) elifdelta=0: x1= print(方程有兩個(gè)相同的解,x1) else: print(方程無解) input(運(yùn)行完畢,請(qǐng)按回車鍵退出.) 13 .完善程序?qū)崿F(xiàn)如下功能并保存: 有5個(gè)人坐在一起,第5個(gè)人說他比第4個(gè)人小3歲;第4個(gè)人說他比第3個(gè)人小3歲; 第3個(gè)人說他比第2個(gè)人小3歲;第2個(gè)人又說他比第1個(gè)人小3歲;第1個(gè)人說他是38 歲。編寫程序,計(jì)算出第5個(gè)人的年齡并顯示。 defage(n): ifn=1:c= else:c

10、=age(n-1)-3 return print(第5人的年齡:,age() input(運(yùn)行完畢,請(qǐng)按回車鍵退出.) 14 .請(qǐng)?jiān)诳崭裉幪顚懻_的代碼,使程序完善。 實(shí)現(xiàn)功能:用輾轉(zhuǎn)相除法求解兩個(gè)正整數(shù)的最大公約數(shù)。 x=int(input(請(qǐng)輸入第一個(gè)正整數(shù):) y=int(input(請(qǐng)輸入第二個(gè)正整數(shù):) m=max(x,y)獻(xiàn)出x,y中的最大值 n=min(x,y)獻(xiàn)出x,y中的最小值 r=m%n徽得最大值除以最小值后的余數(shù) whiler!=0:#如果余數(shù)不等0,則進(jìn)行以下循環(huán) m=清巴最小值賦給m n=班巴余數(shù)賦給n r=m%n標(biāo)得最大值除以最小值后的余數(shù) print(這兩個(gè)數(shù)的最

11、大公約數(shù)為:,) input(運(yùn)行完畢,請(qǐng)按任意鍵退出.”) 15 .已知圓柱體的底面半徑為r,高為h,(均為正整數(shù)),小張編寫了一個(gè)程序計(jì)算圓柱體的 地面周長和面積,圓柱體側(cè)面積以及圓柱體體積,其中圓周率定義為:3.14,請(qǐng)根據(jù)下列 代碼回答問題: r=int(input(請(qǐng)輸入半徑r:) h=int(input(請(qǐng)輸入高h(yuǎn):)c=2*pi*rs=pi*r*2S=c*h V=s*h print(c,s,S,V) 解決問題的程序用到的控制結(jié)構(gòu)有:(填:順序結(jié)構(gòu)、分支結(jié)構(gòu)、 (2)請(qǐng)將程序補(bǔ)充完整。 (3)請(qǐng)找出程序中的錯(cuò)誤代碼,并改正。 16 .編寫程序。如圖所示的算法,請(qǐng)用Python程序?qū)?/p>

12、出實(shí)現(xiàn)該算法相應(yīng)的代碼。 17 .學(xué)校開展“奇妙的數(shù)字”研究性學(xué)習(xí)活動(dòng)。張軒小組4人決定把課題定為探秘水仙 花數(shù)。 (1)張軒使用百度搜索引擎搜索到“水仙花數(shù)”是這樣定義的:“水仙花數(shù)”是指一個(gè) 三位數(shù),它的各位數(shù)字的立方和等于其本身,比如:153=13+53+33,那么這個(gè)數(shù)就是一個(gè) “水仙花數(shù)”。百度屬于_搜索引擎(全文,分類) (2)為了求解100-999這些數(shù)字中,哪些數(shù)字是“水仙花數(shù)”?張軒小組進(jìn)行了算法設(shè) 計(jì),并使用python編寫了一段程序來求解所有的“水仙花數(shù)”,程序和運(yùn)行結(jié)果下圖: 運(yùn)行結(jié)果; 3!=999 a=k/100二寸正;a為k的百位b=k/iO%lO爛 x 注;b為

13、k的十位 kUORJ注:燈為k的外心 piinitk/代仙.雙)心 =RESTART山水仙花數(shù)2y= 153是水仙花數(shù). 37C居水仙花數(shù) 371是水仙花數(shù)& 407是水仙花數(shù). k是可以重新賦值的,k是變量還是常量?程序中處有空缺,請(qǐng)補(bǔ)充完整處的代碼。程序中逐一驗(yàn)證了100到999之間所有的三位數(shù)是否符合“水仙花數(shù)”的定義條件,這種算法叫做(解析法,枚舉法,遞歸法,二分法)。 (3)在研究成果展示環(huán)節(jié),張軒小組可以使用什么軟件制作探秘水仙花數(shù)的研究成 果報(bào)告?() 18.現(xiàn)今信息化時(shí)代,信息的傳輸十分迅速,足不出戶便知天下事。許多社交平臺(tái)都有設(shè)置本平臺(tái)的熱點(diǎn)排行榜,方便用戶了解正在發(fā)

14、生的熱門事件。但社交平臺(tái)數(shù)量眾多,平臺(tái)用戶種類和數(shù)量也大不相同,導(dǎo)致不同平臺(tái)熱點(diǎn)的實(shí)際熱度大小也不同。小鐘為了確保自己知道的熱點(diǎn)是真正的熱點(diǎn),于是打算用功能強(qiáng)大的python把各個(gè)平臺(tái)的熱點(diǎn)排行榜進(jìn)行 合并,形成自己的熱點(diǎn)排行榜。 為了熱點(diǎn)之間比較方便,小鐘設(shè)置了一個(gè)熱度值來衡量一個(gè)熱點(diǎn)的熱度大小,熱度值越大說明這個(gè)熱點(diǎn)的熱度越高?,F(xiàn)在小鐘已經(jīng)獲得了如下兩個(gè)平臺(tái)的熱度值從小到大的排行榜,正當(dāng)他打算將之合并為一個(gè)從小到大的排行榜時(shí),卻被老師叫走了。于是他決定把這個(gè)小功能交給他的好朋友一一你來實(shí)現(xiàn),你想到2種算法,請(qǐng)把下列程序填寫完整。 A P10 P9 P8 P7 P6 P5 P4 P3 P2

15、P1 11 66 116 329 438 582 652 714 756 925 B E10 E9 E8 E7 E6 E5 E4 E3 E2 E1 35 116 215 271 309 428 576 772 806 950 Python程序如下: A=11,66,116,329,438,582,652,714,756,925 B=35,116,215,271,(5),428,576,772,806,950 算法一: myRank= i=0 j=0 while(ilen(A)andjlen(B): if(AiBj): * i+=1 else: myRank.append(Bj) j+=1 wh

16、ile(i=len(A):myRankk=Bjj+=1 elif(j=len(B):myRankk=Aii+=1 elif(9): myRankk=Aii+=1 else: myRankk=Bj j+=1print(myRank)19.若兩個(gè)素?cái)?shù)之差為2,則該對(duì)素?cái)?shù)稱為雙胞胎數(shù),如3,5就是一對(duì)雙胞胎數(shù)。編寫python程序,實(shí)現(xiàn)如下功能:輸入n的值,統(tǒng)計(jì)顯示n以內(nèi)的所有雙胞胎數(shù)。程序運(yùn)行界面如圖所示: 實(shí)現(xiàn)上述功能的程序如下,請(qǐng)?jiān)趧澗€處填入合適的代碼。 importmath defisprime(x): foriinrange(2,int(math.sqrt(x)+1): ifx%i=0:

17、f=False returnf n=int(input(請(qǐng)輸入一個(gè)正整數(shù)n:) c=0 k=3 whilek=n-2: ifisprime(k)and: c+=1 print(第+str(c)+對(duì)雙胞胎數(shù):,k,和,k+2)print(共有+str(c)+對(duì)雙胞胎數(shù)) 劃線處處應(yīng)該填入的語句為:; 劃線處處應(yīng)該填入的語句為:; 劃線處處應(yīng)該填入的語句為:。 20.某企業(yè)開展“運(yùn)動(dòng)打卡動(dòng)動(dòng)有獎(jiǎng)”活動(dòng):若員工在本月累計(jì)運(yùn)動(dòng)時(shí)間30小時(shí)以下, 獎(jiǎng)勵(lì)0元;達(dá)到30但不足45小時(shí)獎(jiǎng)勵(lì)300元;達(dá)到45但不足60小時(shí)獎(jiǎng)勵(lì)450元;60小時(shí)及以上獎(jiǎng)勵(lì)500元。小強(qiáng)用python編寫程序?qū)崿F(xiàn)相關(guān)功能:輸入某員

18、工本月累計(jì)運(yùn)動(dòng)時(shí)間(時(shí)),輸出其能獲得的獎(jiǎng)勵(lì)金額。 (1)實(shí)現(xiàn)上述功能的程序如下,請(qǐng)?jiān)趧澗€處填入合適的代碼。 t=int(input(“請(qǐng)輸入您本月累計(jì)運(yùn)動(dòng)時(shí)間(時(shí)):“) ift0: print(“輸入錯(cuò)誤”) else: ift 5 1.1 17 29 11 59 和和和和和和和和 1313 34673467 eliftm(o)w(v)如Hj 學(xué)生身號(hào).學(xué)校代碼.姓名衡理化發(fā)生粗政治歷史.厘技術(shù) 2019010001,201 2019010002.20190L 晌 IM.1J 不 20190)00031901 席丹*1/1 20190100M.201901.鄒諭殂 JJ.1” 201901

19、0005,201901/佳L1.1”“ 2019010006.201 第 1 導(dǎo)鴻 2019010007.201WLSe*LKLL. 2019010006,201901 兼向洋 J/1 20lWl0009,20IW1.Rn.JLJ 20190100162015)L 李漱里,I.LL“. 2019010011,201 2019010012.201Wttt.t1J_ lansoiottHmTHUtHII1 圖1 圖2 實(shí)現(xiàn)上述功能的Python程序如下: importpandasaspd importitertools #讀數(shù)據(jù)到pandas的DataFrame結(jié)構(gòu)中 df=(xk73.csv,s

20、ep=.,header=infer,encoding=utfkm=物理,化學(xué),生物,政治,歷史,地理,技術(shù) 20190120190120102 201904201904 201905220190520 0重的 201907201907 201908201908 201909201909 201910201910 201911201911 201912201912 201913201913 201914201914 2O1S13 的 3 9 學(xué)校代碼!SA物理I心I生I人I【Ml【1ft術(shù) 477 4M4M zrslen(dfindex) # 按學(xué)校分組計(jì)數(shù) sc=df.groupby(,as_

21、index=False).count() # 對(duì)分組計(jì)數(shù)結(jié)果進(jìn)行合計(jì),合計(jì)結(jié)果轉(zhuǎn)換為DF結(jié)構(gòu)并轉(zhuǎn)置為行 df_sum=pd.DataFrame(data=sc.sum().T df_sum學(xué)校代碼=合計(jì) # 增加合計(jì)”行 result=sc.append(df_sum) # 百分比計(jì)算 df_percent=df_sum df_percent學(xué)校代碼=比例 forkinkm: per=df_percent.at0,k/zrs df_percentk=per # 增加u百分比“行 result=result.append(df_percent) # 刪除u姓名u列 result= # 修改“學(xué)生

22、編號(hào)為總?cè)藬?shù) result=result.rename(columns=學(xué)生編號(hào):總?cè)藬?shù)) # 保存結(jié)果創(chuàng)建Excel文件.生成的Excel文件 result.to_excel(學(xué)校人數(shù)統(tǒng)計(jì).xlsx) (1)請(qǐng)?jiān)趧澗€處填入合適的代碼: (2)加框處語句的作用是 22.閱讀程序。分析以下關(guān)于字符拼接與轉(zhuǎn)換的Python程序并回答問題。 students=小明,小紅,小剛 scores=小明:95,小紅:90,小剛小0print(len(students)print(len(scores) F F- -ileile- -tentKjrmatKunuptiontentKjrmatKunuption

23、- -swindowswindow studeEf 二二小明,小明, 小紅小紅 小剛小剛score=小小日用二日用二 05.,小紅,小紅“:9 口口/ /小剛小剛:90)printuderrt3J) print(len(scores) (1) students的數(shù)據(jù)類型是 (2) scores的數(shù)據(jù)類型是。 (3)在scores中,每個(gè)字符與后面的數(shù)值共同構(gòu)成了一個(gè)。 (4) len(students)的返回值是。 (5) print(len(scores)的輸出結(jié)果是。 23 .水仙花數(shù)是指一個(gè)三位數(shù),它的每個(gè)位上的數(shù)字的3次方之和就等于它本身,例如: 1*3+5*3+3*3=153。這類三

24、位數(shù)也被叫做自戀數(shù)、自哥數(shù)或者阿姆斯特朗數(shù)。 問題求解設(shè)這個(gè)數(shù)存放于變量x中,變量g、s、b分別存放個(gè)位、十位、百位上的數(shù)。需得分離數(shù)字得到每位上的數(shù),即將變量g、s、b表示為x的形式。請(qǐng)閱讀如下python程 序,在空白處填寫適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整。 print(三位數(shù)之內(nèi)的水仙花是:) forxin(100,1000):b=x/100 s=(x/10) g=一 Ifx=(b*3+s*3+g*3):print() 24 .(項(xiàng)目情境)水仙花數(shù)是指一個(gè)三位數(shù),它的每個(gè)位上的數(shù)字的3次方之和就等于它 本身,例如:1*3+5*3+3*3=153。這類三位數(shù)也被叫做自戀數(shù)、自哥數(shù)或者阿姆斯特

25、朗數(shù)。 (問題求解)設(shè)這個(gè)數(shù)存放于變量x中,變量g、s、b分別存放個(gè)位、十位、百位上的 數(shù)。需得分離數(shù)字得到每位上的數(shù),即將變量g、s、b表示為x的形式。請(qǐng)閱讀如下 python程序,在空白處填寫適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整。print(三位數(shù)之內(nèi)的水仙花是:) forxin: b=x/100 s= g= ifx=(b*3+s*3+g*3): 25 .設(shè)計(jì)完成算法之后,小C打算用所學(xué)的Python程序設(shè)計(jì)語言完成程序的編寫。 (1) Python程序設(shè)計(jì)語言屬于程序設(shè)計(jì)語言中的。 A.機(jī)器語言B.匯編語言C.高級(jí)語言D.翻譯程序 (2)小C將設(shè)計(jì)好的算法轉(zhuǎn)為Python程序語言(如下)。其中

26、“Tot2=8”是一個(gè) ,“#初始化時(shí)長費(fèi)為0”是一個(gè),S9):#算時(shí)長費(fèi)用 6 Tot1=(T-9)*0.2 7 if(S=3.3):#算里程費(fèi)用 8 Tot2-8 9 else: 10 Tot2=8+(S-3.3)*1.35 11 Cost-Totl+tot2 12 print(Cost)#輸出總車費(fèi) (3)小C寫好代碼之后,編譯運(yùn)行發(fā)現(xiàn)報(bào)錯(cuò)了,根據(jù)下圖中所示的錯(cuò)誤信息分析該程序報(bào)錯(cuò)的原因是: NameErrorTracebackmostrecentcalllast) in9else:10-11Cost=Tot1+tot212 NameError:nametot2isnotdefined

27、(4)經(jīng)過修改之后,小C對(duì)照某次滴滴打車的訂單,將對(duì)應(yīng)的公里數(shù)和時(shí)長輸入程序,運(yùn)行得到的結(jié)果與實(shí)際支付的費(fèi)用一致,小C會(huì)心一笑驗(yàn)證得知程序正確無誤。小C借助于 計(jì)算機(jī)編寫程序解決問題的這個(gè)過程是:設(shè)計(jì)算法編寫程序分析問題調(diào)試運(yùn)行程序,合理的順序是。(填寫序號(hào)即可) (5)總結(jié)用計(jì)算機(jī)解決問題的優(yōu)勢(shì)主要有: O 26.小強(qiáng)想要快速了解“十四五規(guī)劃”內(nèi)容的關(guān)鍵詞,他先把“十四五規(guī)劃”內(nèi)容存儲(chǔ)在ssw.txt文檔中,如圖a所示,統(tǒng)計(jì)文檔中出現(xiàn)次數(shù)最多的前十個(gè)關(guān)鍵詞,結(jié)果如圖b所 示。文本數(shù)據(jù)處理的算法設(shè)計(jì)如圖c所示,用Python語言編寫的程序段如圖d所示。 請(qǐng)根據(jù)流程圖的每個(gè)步驟,填寫程序段編號(hào),

28、如A:B:D:?,F(xiàn)填寫C、EF、G 對(duì)應(yīng)的程序段編號(hào).C:E:F:G: 圖a 79O2953/54 展設(shè)系善強(qiáng)進(jìn)家持全法發(fā)建體完加推國堅(jiān)健經(jīng) 立外舊碟花式苴后作陰到H】 1.完善科技創(chuàng)新體制機(jī)制 局發(fā)思全區(qū)深 k 受缶覆王SK也國經(jīng)哥代為向合、lEi生KJJ 找日不在立加 -時(shí)曼. 馬同期*:-.!斗.r- 堅(jiān)把世客1 卷,聶士9發(fā) 2.加姓數(shù)字化與展 毛國,后r強(qiáng)憶點(diǎn)菱一書再高體者、,一-1_產(chǎn)胃洋亞代B適產(chǎn)專,存律,13口二1力;小處正子事!?敢 梯 C C聞”心 tx仁openrssw.txtVrncodiutf-8)*read。 word5=jieba.lcut(txt)& c

29、ounts= foriinrarige(LO): wd,count=itemsi printftOlOHlS.formatfwd.count) forwdinwords:圖弓 ifwdincounts:g *(5, countfiwd+=l elso: counts(wd=l items=list(counti.items()item.sort(key=lambdax:xl, reverse=True) importjieba 27.編寫Python程序?qū)崿F(xiàn)如下功能:輸入年月日,輸入格式如“2021-06-21,年月日之 間用“-”分隔。判斷這一天是這一年的第幾天。以2021-06-21為例,

30、前面5個(gè)月總天數(shù),加上21天即這一天是本年的第幾天。特殊情況,當(dāng)輸入的年份是閏年時(shí),2月份有 29天。閏年的判斷方式如下: I、能被4整除,但不能被100整除; II、能被400整除; (1) “2020-05-20”這一天是這一年的第天。 (2)編寫Python代碼如下,在劃線處填入正確的代碼 (3)加框處的代碼有誤,請(qǐng)改正。 改正: mon=31,28,31,30,31,30,31,31,30,31,30,31#mon中存儲(chǔ)1-12每個(gè)月的天數(shù) s=input(請(qǐng)輸入年月日:) month=int(s5:7) 3sum=0 foriinrange(): sum+=moni sum+=day

31、 ifyewIF)廊口: isleap=Trueelse: isleap=Falseifsum+=1print(這一天是當(dāng)年的第+str(sum)+“天”) 28.使用Python自身提供的IDLE集成開發(fā)環(huán)境錄入以下代碼及調(diào)試運(yùn)行,檢測(cè)結(jié)果。 #雞兔同籠 forxinrange(1,23): y=35-x if4*x+2*y=94: print(兔子有%s只,雞有s只%(x,y) 特別提示:代碼錄入完畢,調(diào)試運(yùn)行,檢測(cè)錯(cuò)誤,討論錯(cuò)誤原因,上網(wǎng)查找錯(cuò)誤格式的處置辦法,直至能正確輸出結(jié)果。 29 .請(qǐng)編寫Python程序,實(shí)現(xiàn)如下功能需求: 1)程序運(yùn)行后,給出文字提示:“請(qǐng)輸入一個(gè)正整數(shù):”

32、2)輸入一個(gè)整數(shù)n按回車后,程序輸出從1-n所有整數(shù)中既是3的倍數(shù)又是5的倍數(shù)的 數(shù)。 3)不要超過5行代碼。程序運(yùn)行舉例: 請(qǐng)涌入一個(gè)正整教:iea 38 45 66759電 30 .完善代碼并保存。 實(shí)現(xiàn)功能:從鍵盤輸入10個(gè)學(xué)生的測(cè)試成績,輸出最高分和最低分。 cj= foriinrange(0,):x=float(input(請(qǐng)輸入一個(gè)數(shù))cj.append()print(max(cj),min()input(運(yùn)行完畢,請(qǐng)按回車鍵退出”) 【參考答案】*試卷處理標(biāo)記,請(qǐng)不要?jiǎng)h除 、程序填空 1. n*f(n-1)range(1,n+1)s+f(i) 【詳解】 本題主要考查Python程

33、序的執(zhí)行與調(diào)試。此處是定義遞歸函數(shù)f(n),由題干,當(dāng)n=0 時(shí), 返回1,否則返回n*f(n-1),故此處填n*f(n-1)。用遞歸算法求1!+2!+n,故變量i的范圍應(yīng)是1n,foriinrange(1,n+1)表示i的范圍是1,n,故此處填range(1,n+1)。循環(huán)體實(shí)現(xiàn)累加,將每一項(xiàng)階乘f(i)力睢Us中,故此處填s+f(i)。 2. total=0#變量可任選(符合規(guī)則)foriinrange(1,101):total=total+i*i #total=total+i*2print(total) 【詳解】 本題主要考查Python程序的編寫。變量total用來統(tǒng)計(jì)最終的計(jì)算結(jié)果,

34、其初始值為 0,故填total=0#變量可任選(符合規(guī)則)。求1+22+32+100勺結(jié)果,用for循環(huán)結(jié) 構(gòu),變量i的范圍是從1到100,故填foriinrange(1,101):。計(jì)算語句是total=total+i*i#total=total+i*2。最后用print()函數(shù)輸出計(jì)算結(jié)果total,故填print (total)。 3. 計(jì)算每一項(xiàng)的階乘記錄階乘相加后的和t記錄的是每一項(xiàng)階乘的結(jié)果,t*=n即 t=t*n,t初值為1,能計(jì)算出每項(xiàng)的階乘結(jié)果,若為0,則每項(xiàng)的階乘結(jié)果都是0,不符合 題意。t=t*ns=s+t 【詳解】 本題考查的是python語言編程。本題考查的是1-20

35、階乘的求和。本題的重點(diǎn)是要先計(jì)算 出對(duì)應(yīng)的每一項(xiàng)階乘的結(jié)果t,然后20項(xiàng)階乘的結(jié)果記錄在s中。在此過程中既要考慮到 累乘求階乘結(jié)果,又要考慮到累加求所有階乘的和。初值n=0,在1-21的循環(huán)過程中,記錄每一項(xiàng)的階乘,s=0記錄階乘累加的和,t=1記錄每一項(xiàng)階乘的結(jié)果。每求一次階乘就要進(jìn)行一次求和,故語句t*=n,s+=t均在forninrange(1,21):的循環(huán)體內(nèi)。 4. 0 【詳解】 本題主要考查Python中While循環(huán)結(jié)構(gòu)。Python編程中while語句用于循環(huán)執(zhí)行程序,即在某條件下,循環(huán)執(zhí)行某段程序,以處理需要重復(fù)處理的相同任務(wù)。題中循環(huán)體內(nèi)含If選 擇結(jié)構(gòu),即當(dāng)i%3為0時(shí)

36、,執(zhí)行sum變量累加i,輸出i,i自增加1操作,因此本題輸出0后,循環(huán)無限執(zhí)行下去。 【點(diǎn)睛】 5. layer=int(input(請(qǐng)輸入需要打印的層數(shù):) forxinrange(1,layer+1): foryinrange(1,x+1):print(*,end=) print() JXJ2A1. 商需了親要打印的三耙q* * * I 【詳解】本題主要考查Python循環(huán)結(jié)構(gòu)。Pythonfor循環(huán)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串。range可以生成一個(gè)整數(shù)列表,列表范圍根據(jù)接收的layer來確定。外層循環(huán)用于確定輸出行數(shù),內(nèi)層循環(huán)用于控制每行符號(hào)個(gè)數(shù)。 【點(diǎn)睛】 6.

37、llist.append(n-1,0)head=0long1head=llistk1llistk1=llistt1k=llistk1 【詳解】 本題主要考查Python程序執(zhí)行與調(diào)試。for循環(huán)體是將索引0-n追加到llist中,此處是 循環(huán)體執(zhí)行完,將末元素與首元素的索引加入到llist中,故填llist.append(n-1,0)。 head是列表頭,初始化為0,故填head=0。最后剩下一個(gè),其余人都將被殺掉,故 循環(huán)條件是long1,變量long控制元素個(gè)數(shù),故填10ng1。索引為t的刪除后,此處是更新head值,故填head=llistk1。刪完后,如果t等于head,需要更新索引k

38、,將索引t的值賦給變量k,故填llistk1=llistt1。如果t不等于head,也需要更新索引k, 故填k=llistk1 FileEditFormatRunOptionsWindowHelp Mint(inputF 粕入 M 裝的簟記本 I 和筆記本 2 的本數(shù)為廣)a=3*nb=5*ny= =:T=RESTART;Ci/Users/huantcaixi/DcErktcp/4-Lpy 輸入購買的篤記本 1 和堂記本 2 的本數(shù)為:3。 啕逐筆用本 1 和舅記本 2 的科里為 30 本 可若省的金額為 46.00 元 | 【詳解】 本題主要考查Python程序的執(zhí)行與調(diào)試。運(yùn)行結(jié)果如下:

39、金 4-l.py-C/User/hueng8 一潔/Desktop*(3.7.0) AteEd*FormatRunOptiortiWindowHeltj a=3*na=3*n b=5*nb=5*n y=(a+V)y=(a+V)* *(1(1- -0+0+8)8) printprint購英篁記本 1 1 和望記本 2 2 的數(shù)為“,叫本”) printprint可節(jié)備第上新為樂 2fFyJ2fFyJ 無) :jPython1.7.0Shelt 印片 EditShHQebcgQptionsfcldpEditShHQebcgQptionsfcldp PTthcn377.0(v377.OilbfPTt

40、hcn377.0(v377.OilbfSccSOSSrJuri27SccSOSSrJuri27- -2018704:59:51)MSCt2018704:59:51)MSCt 4)on.vin324)on.vin32 TypecopyrightTypecopyright- -r r*credits*or*license()*farnoreinformati*credits*or*license()*farnoreinformati =i=RESTART:C=i=RESTART:C- -/Usetrs/huangcaixi/Deslctop/4/Usetrs/huangcaixi/Deslctop

41、/4- -1 1. .pypy 輸入購買的堡記本 1 1 粕量記本 2 2 的本數(shù)為*30*30 購展里記本帽堂記本 2 2 的望堂為 3030 本 可節(jié)省的金果為 48.0048.00 元 ayFrr=ayFrr=1 1 口上行 1111 即 1t1tff清輸入里事打印的層物:forfor* *ininranran(Ulafer+i)(Ulafer+i); foiyinrangeL1,K41):pri2lt(*,Entfc) printprint 7. I 8. l=foriinrange(2000,3201): if(i%7=0)and(i%5!=0): l.append(str(i)pr

42、int(,.join(l) 【詳解】 本題主要考查程序設(shè)計(jì)。由題干要求,可以使用Python程序設(shè)計(jì)語言實(shí)現(xiàn),可使用for循 環(huán)以及列表,可以使用join函數(shù)按逗號(hào)分隔格式打印結(jié)果,join函數(shù)連接字符串?dāng)?shù)組,將 字符串、元組、列表中的元素以指定的字符(分隔符)連接生成一個(gè)新的字符串,具體代 碼如下: l= foriinrange(2000,3201): if(i%7=0)and(i%5!=0): l.append(str(i) print(,.join(l) 9. s=input(inputastring:) letter=0#統(tǒng)計(jì)字母 space=0#統(tǒng)計(jì)空格 digit=0#統(tǒng)計(jì)數(shù)字 o

43、ther=0#統(tǒng)計(jì)其他字符 forcins: ifc.isalpha():letter+=1 elifc.isspace(): space+=1elifc.isdigit(): digit+=1 else: other+=1 print(字母:,letter,空格:,space,數(shù)字:,digit,其他字符:,other)【詳解】 本題主要考查程序設(shè)計(jì)。題干要求可通過Python程序?qū)崿F(xiàn),使用for循環(huán)、多條件分支結(jié) 構(gòu)。其中實(shí)現(xiàn)分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)可通過函數(shù) isalpha、isspace、isdigit來判斷統(tǒng)計(jì),具體代碼如下:s=input(inputast

44、ring:) letter=0#統(tǒng)計(jì)字母 space=0#統(tǒng)計(jì)空格 digit=0#統(tǒng)計(jì)數(shù)字 other=0#統(tǒng)計(jì)其他字符 forcins: ifc.isalpha(): letter+=1 elifc.isspace(): space+=1 elifc.isdigit():digit+=1 else: other+=1 print(字母:,letter,空格:,space,數(shù)字:,digit,其他字符:,other) 10. foriinrange(100,1000): a=i/100 b=(i/10)%10 c=i%10ifi=a*a*a+b*b*b+c*c*c: print(i) 【詳解

45、】 本題主要考查程序設(shè)計(jì)。可通過Python程序設(shè)計(jì)實(shí)現(xiàn)題干要求,通過for循環(huán)找出水仙花 數(shù),依次取出三位數(shù)的每一位數(shù),其中百位a=i/100,十位b=(i/10)%10,個(gè)位c=i%10, 然后判斷是否是水仙花數(shù),具體代碼如下: foriinrange(100,1000): a=i/100 b=(i/10)%10 c=i%10ifi=a*a*a+b*b*b+c*c*c: print(i) 11. 將year轉(zhuǎn)換為整型數(shù)據(jù),并賦值給yearAndyear%100!=0oryear【詳解】 本題主要考查Python程序設(shè)atoinput接收的數(shù)據(jù)類型是字符串型, 該語句表示將year轉(zhuǎn)換為整型

46、數(shù)據(jù), 并賦值給year。判斷某一年是否是閏年白方法是年份數(shù)能被4整除,但 不能被100整除,或者年份數(shù)能被400整除,故第二、三、四空分別填A(yù)nd year%100!=0or最后輸出打印某一年是否是閏年,需要將year轉(zhuǎn)換為字符型。 12. -b/(2*a) 【詳解】 本題主要考查Python程序執(zhí)行與調(diào)試。delta大于0,方程有兩個(gè)不同的解,delta等于 0,方程有兩個(gè)相同的解,delta小于0,方程無解,故第一空填0。delta=0,則方程有 兩個(gè)相同的根,x=-b/(2*a),故第二空填-b/(2*a)。 13. c5 【詳解】 本題主要考查Python程序執(zhí)行與調(diào)試。第一個(gè)人38

47、歲,n標(biāo)記第幾個(gè)人,變量c保存 年齡,當(dāng)n=1時(shí),c=38,故第一空填38。后面的人都比前一個(gè)人小3歲,故當(dāng)n不等 于1時(shí),調(diào)用遞歸函數(shù)age,c=age(n-1)-3,最后返回第n個(gè)人的年齡c,第二空填c。此處是返回第5個(gè)人的年齡,即age(5),填5。 14. nrn 【詳解】 本題考查的是Python循環(huán)語句。輾轉(zhuǎn)相除法:用較大數(shù)除以較小數(shù),再用出現(xiàn)的余數(shù)(第一余數(shù))去除除數(shù),再用出現(xiàn)的余數(shù)(第二余數(shù))去除第一余數(shù),如此反復(fù),直到最后余數(shù)是0為止。如果是求兩個(gè)數(shù)的最大公約數(shù),那么最后的除數(shù)就是這兩個(gè)數(shù)的最大公約數(shù)。由n=min(x,y)可知最小值為n,故處為n,由r=m%n可知余數(shù)為r,

48、故處為r,最后的除數(shù)是n(即最大公約數(shù)為n),故處為n。 15. 順序結(jié)構(gòu)pi=3.14r=float(input(請(qǐng)輸入半徑r:)整型和實(shí)數(shù)型不能直接運(yùn) 算,結(jié)果會(huì)有誤差h=float(input(“請(qǐng)輸入高h(yuǎn):“) 【詳解】 本題主要考查Python程序執(zhí)行與調(diào)試。分析程序可知,解決問題的程序用到的控制結(jié)構(gòu) 有:順序結(jié)構(gòu)。圓周率定義為:3.14,故第二空填pi=3.14。r=float(input(“請(qǐng)輸入 半徑r:)整型和實(shí)數(shù)型不能直接運(yùn)算,結(jié)果會(huì)有誤差h=float(input(“請(qǐng)輸入高 h:)。 16 .a=float(input(請(qǐng)輸入一個(gè)數(shù)) b=float(input(請(qǐng)輸入

49、一個(gè)數(shù)) c=float(input(請(qǐng)輸入一個(gè)數(shù)) ifcaandcb: print(最大數(shù)為:,c) elifba: print(最大數(shù)數(shù) else: print(最大小數(shù)為,a) aFfloart(inputC詣?shì)S入一個(gè)教bflaart(inputCioffiA a=fioartaaiid匚2: print(最大觥為: clif3a; printbj JpHintr最大小灶為ZQ 【詳解】 本題主要考查算法描述及Python程序設(shè)計(jì)。分析算法流程圖,首先輸入a、b、c三個(gè)數(shù), 進(jìn)行兩兩比較,輸出最大數(shù),故Python程序設(shè)計(jì)如下:a=float(input(請(qǐng)輸入一個(gè)數(shù))b=float(

50、input(請(qǐng)輸入一個(gè)數(shù))c=float(input(請(qǐng)輸入一個(gè)數(shù))ifcaandcb: print(最大數(shù)為:,c)elifba: print(最大數(shù)數(shù),b) else: print(最大小數(shù)為,a) 17 .全文變量k+1枚舉法Word/WPS/PowerPoint等【詳解】 本題主要考查Python程序的執(zhí)行與調(diào)試。百度屬于全文搜索引擎,也是關(guān)鍵詞搜索。 變量可以反復(fù)賦值,故k是變量。循環(huán)體執(zhí)行完,k遞增,繼續(xù)找水仙花數(shù),故此處 填k+1。逐一驗(yàn)證了100到999之間所有的三位數(shù)是否符合,這種算法叫做枚舉法。 在研究成果展示環(huán)節(jié),張軒小組可以使用Word/WPS/PowerPoint等軟

51、件制作探秘水仙花 數(shù)的研究成果報(bào)告。 18. myRank.append(Ai)jlen(B)klen(A)+len(B)-1AiBj 【詳解】 本題主要考查python編程。根據(jù)表格所示,列表B中第5個(gè)元素為309,因此處為309;AiBj時(shí),將列表末尾添加Ai,因此處為myRank.append(Ai);當(dāng)列表未結(jié)束時(shí),列表末尾添加相應(yīng)元素,因此處為jlen(B);算法二中引入變量k,用以記錄 i與j的和,當(dāng)k小于len(A)+len(B)-1說明兩列表未結(jié)束,因此處為klen(A)+len(B)-1;若AiBj,則先將Ai添加至列表末尾,因此處為AiBj。 【點(diǎn)睛】 19. f=True

52、isprime(k+2)k=k+1或k+=1或k=k+2或k+=2【詳解】 本題主要考查Python程序的執(zhí)行與調(diào)試。 isprime(x)用來判斷x是不是素?cái)?shù), 通過用x整除2int(math.sqrt(x),如果余數(shù)為0則表明該數(shù)不是素?cái)?shù),賦值f為假退出循環(huán),f的初 值為True,故第一空填f=True。若兩個(gè)素?cái)?shù)之差為2,則該對(duì)素?cái)?shù)稱為雙胞胎數(shù),此 處判斷相差為2的兩個(gè)數(shù)是不是素?cái)?shù),故第二空填isprime(k+2)。素?cái)?shù)都是奇數(shù),此處 需要更新k的值繼續(xù)循環(huán)判斷,可以將k的值遞增1或遞增2,故填k=k+1或k+=1或k=k+2或k+=2。 20. m=0elift60:A 【詳解】 本

53、題主要考查Python程序的執(zhí)行與調(diào)試。若員工在本月累計(jì)運(yùn)動(dòng)時(shí)間30小時(shí)以下,獎(jiǎng)勵(lì)0元,即m=0o達(dá)到45但不足60小時(shí)獎(jiǎng)勵(lì)450元,故填elift60:。-1 【詳解】 本題主要考查Python程序的執(zhí)行與調(diào)試。將csv文件讀入并轉(zhuǎn)化為數(shù)據(jù)框形式,故填 pd.read_csv。groupby函數(shù)主要的作用是進(jìn)行數(shù)據(jù)的分組,此處按學(xué)校分組計(jì)數(shù),故填學(xué)校代碼。此處刪除姓名歹U,可以使用drop()函數(shù)來刪除,故填result.drop(姓名,axis1)。zrs=len(df.index),該語句是統(tǒng)計(jì)df內(nèi)有多少個(gè)元素,即將總?cè)藬?shù)存儲(chǔ)到變量zrs中。 22. 列表字典鍵值對(duì)33 【詳解】 本題

54、考查的是python語言的數(shù)據(jù)類型,列表和字典。(1)列表是寫在方括號(hào)口之間,用逗號(hào)分隔開的元素列表,students=小明,小紅,小剛就是列表。(2)字典用標(biāo)識(shí),它是一個(gè)無序的“鍵(key):彳K(value)對(duì)集合,字典當(dāng)中的元素是通過鍵來存取的,而不 是通過偏移存取。scores=小明:95,小紅:90,小剛:90就是一個(gè)字典類型。(3)其中“小明:95”就構(gòu)成了一個(gè)鍵值對(duì)。(4)len()方法返回列表元素個(gè)數(shù)。students=小明,小紅, 小剛,里面有三個(gè)元素,故返回值是3。(5)print(len(scores),其中scores=小明:95,小紅:90,小剛:90該字典有3個(gè)鍵值

55、對(duì),故輸出結(jié)果是3。 23. range%10 x%10或x-b*100-s*10或其它同等答案x 【詳解】 本題考查的是Python程序設(shè)計(jì)。水仙花數(shù)是指一個(gè)三位數(shù),故使用range函數(shù)遍歷100999;s存放的是十位數(shù),故可以選對(duì)x取整后再除以10求余,故第二空應(yīng)填%10(求 余符號(hào));g是存放個(gè)位,直接除以10求余,或減去前面整百和整十的數(shù),故第三空 為:x%10或x-b*100-s*10或其它同等答案;如果找到滿足條件的數(shù),則輸出,故第四空為:x。 24. range(100,1000)x/10%10 x%10print(三位數(shù)之內(nèi)的水仙花是:+str(x)【詳解】 本題主要考查Python程序的執(zhí)行與調(diào)試。水仙花數(shù)是指一個(gè)三位數(shù),即100,999,forxinrange(100,1000)表示x的范圍是100-999,故此處填range

溫馨提示

  • 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)論