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

下載本文檔

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

文檔簡介

NCT等級測試-Python編程三級真題測試卷3精品程序填空閱讀填空程序試題一、程序填空1.(項目情境)遞歸就是自己調(diào)用自己,它是設(shè)計和描述算法的一種有力工具,常常用來解決比較復(fù)雜的問題。為求解規(guī)模為N的問題,設(shè)法將它分解成規(guī)模較小的問題,從小問題的解容易構(gòu)造出大問題的解,并且這些規(guī)模問題較小的問題也能采用同樣的分解方法,分解成規(guī)模更小的問題,并能從這些更小問題的解構(gòu)造出規(guī)模較大問題的解。一般情況下,規(guī)模N=1時,問題的解是已知的。已知:從1到n的連續(xù)自然數(shù)相乘的積、叫做階乘、用符號n!表示。如5!=1×2×3×4×5,規(guī)定0!=1。我們用遞歸算法可以較容易求n的階乘。求n的階乘算法可以描述如下: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?。╪的值為整數(shù),從鍵盤輸入)。請閱讀如下程序,在空白處填寫適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整。deff(n):ifn==0:return1else:return_________s=0n=int(input("請輸入n:"))foriin_______:s=________print(s)2.程序編寫求1+22+32+……+1002的結(jié)果____________________________________________________________________________________________________________________________input(“運行完畢,請按回車鍵退出...”)3.閱讀程序。分析有關(guān)多項式的代碼并回答問題。求1!+2!+3!+……+20!的和。n=0s=0t=1forninrange(1,21):t*=ns+=tprint(s)(1)n的作用是________________。(2)s的作用是______________。(3)t的初值必須賦值為1,這是因為_________。(4)t*=n的等價語句是__________(5)s+=t的等價語句是______。4.調(diào)試程序。請閱讀以下程序并寫出運行結(jié)果。#ex16.pyi=0sum=0whilei<10:ifi%3==0:sum+=iprint(i)i=i+1print('sum',sum)_________5.編寫程序,用*打印一個如下所示的等腰直角三角形,將測試結(jié)果截圖。**********6.約瑟夫問題是個有名的問題:N個人圍成一圈,順序為0,1,2,3,4,5,從0號這個人開始報數(shù),報到2的將被殺掉,接下去重新開始報數(shù),報到3的將被殺掉...以此類推,最后剩下一個,其余人都將被殺掉。例如N=6,被殺掉的順序是:1,4,3,0,5;最后只剩下2這個人。llist=n=int(input(“請輸入?yún)⑴c人數(shù):”))foriinrange(0,n-1):llist.append([i,i+1])______________________long=nk=headi=1p=2while(____):ifi==p-1:t=llist[k][1]print(llist[t][0])#索引為t的刪除__________________ift==head:___________________i=1p+=1long=long-1k=llist[k][1]______________i+=1print(llist[head][0])7.計算機解決問題的過程為“分析問題——設(shè)計算法(流程圖)——編寫程序——調(diào)試程序”,請輸入以下代碼,自己輸入數(shù)據(jù)運行,結(jié)果截圖提交8.編寫一個程序,它將找到所有這些數(shù)字,可被7整除,但不是5的倍數(shù),2000年至3200年(包括在內(nèi))。得到的數(shù)字應(yīng)按逗號分隔的順序打印在一行上。提示:考慮使用range(#begin,#end)9.輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。10.求水仙花數(shù)(一個三位數(shù),其各位數(shù)字立方和等于該數(shù)字本身)11.地球繞太陽的運行周期為365天5小時48分46秒(合365.24219天),即一回歸年。公歷的平年只有365天,比回歸年短約0.2422天,每四年累積約一天,把這一天加于2月末(即2月29日),使當(dāng)年的時間長度變?yōu)?66天,這一年就是閏年。判斷某一年是否是閏年的方法是年份數(shù)能被4整除,但不能被100整除,或者年份數(shù)能被400整除。以下是一段用于判斷某一年是否是閏年的程序。請將上面程序框中空格處的內(nèi)容填寫完整,其中①處填寫代碼注釋_________________________________________12.完善程序?qū)崿F(xiàn)以下功能并保存。輸入一元二次方程的系數(shù)a,b,c的值,求解一元二次方程ax2+bx+c=0(a≠0)#請不要更改源程序的結(jié)構(gòu),刪除原題里的①、②。填寫正確的代碼,使程序完善importmatha=float(input("請輸入方程系數(shù)a(!=0):"))b=float(input("請輸入方程系數(shù)b:"))c=float(input("請輸入方程系數(shù)c:"))delta=b*b-4*a*cifdelta>________:x1=(-b+math.sqrt(delta))/(2*a)x2=(-b-math.sqrt(delta))/(2*a)print("方程有兩個不同的解",x1,x2)elifdelta==0:x1=________print("方程有兩個相同的解",x1)else:print("方程無解")input("運行完畢,請按回車鍵退出...")13.完善程序?qū)崿F(xiàn)如下功能并保存:有5個人坐在一起,第5個人說他比第4個人小3歲;第4個人說他比第3個人小3歲;第3個人說他比第2個人小3歲;第2個人又說他比第1個人小3歲;第1個人說他是38歲。編寫程序,計算出第5個人的年齡并顯示。defage(n):ifn==1:c=________else:c=age(n-1)-3return________print("第5人的年齡:",age(________))input("運行完畢,請按回車鍵退出...")14.請在空格處填寫正確的代碼,使程序完善。實現(xiàn)功能:用輾轉(zhuǎn)相除法求解兩個正整數(shù)的最大公約數(shù)。x=int(input('請輸入第一個正整數(shù):'))y=int(input('請輸入第二個正整數(shù):'))m=max(x,y)n=min(x,y)#找出x,y中的最大值#找出x,y中的最小值r=m%n#求得最大值除以最小值后的余數(shù)#如果余數(shù)不等0,則進(jìn)行以下循環(huán)#把最小值賦給mwhiler!=0:m=________n=_________r=m%n#把余數(shù)賦給n#求得最大值除以最小值后的余數(shù)print('這兩個數(shù)的最大公約數(shù)為:',______)input("運行完畢,請按任意鍵退出....")15.已知圓柱體的底面半徑為r,高為h,(均為正整數(shù)),小張編寫了一個程序計算圓柱體的地面周長和面積,圓柱體側(cè)面積以及圓柱體體積,其中圓周率定義為:3.14,請根據(jù)下列代碼回答問題:r=int(input(“請輸入半徑r:”))h=int(input(“請輸入高h(yuǎn):”))_________________________c=2*pi*rs=pi*r**2S=c*hV=s*hprint(c,s,S,V)(1)解決問題的程序用到的控制結(jié)構(gòu)有:__________________(填:順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu))(2)請將程序補充完整。(3)請找出程序中的錯誤代碼,并改正。____________________________________________16.編寫程序。如圖所示的算法,請用Python程序?qū)懗鰧崿F(xiàn)該算法相應(yīng)的代碼。17.學(xué)校開展“奇妙的數(shù)字”研究性學(xué)習(xí)活動。張軒小組4人決定把課題定為《探秘水仙花數(shù)》。(1)張軒使用百度搜索引擎搜索到“水仙花數(shù)”是這樣定義的:“水仙花數(shù)”是指一個三位數(shù),它的各位數(shù)字的立方和等于其本身,比如:153=13+53+33,那么這個數(shù)就是一個“水仙花數(shù)”。百度屬于____搜索引擎(全文,分類)(2)為了求解100--999這些數(shù)字中,哪些數(shù)字是“水仙花數(shù)”?張軒小組進(jìn)行了算法設(shè)計,并使用python編寫了一段程序來求解所有的“水仙花數(shù)”,程序和運行結(jié)果下圖:k是可以重新賦值的,k是變量還是常量?____程序中①處有空缺,請補充完整①處的代碼。____程序中逐一驗證了100到999之間所有的三位數(shù)是否符合“水仙花數(shù)”的定義條件,這種算法叫做______(解析法,枚舉法,遞歸法,二分法)。(3)在研究成果展示環(huán)節(jié),張軒小組可以使用什么軟件制作《探秘水仙花數(shù)》的研究成果報告?(_____)18.現(xiàn)今信息化時代,信息的傳輸十分迅速,足不出戶便知天下事。許多社交平臺都有設(shè)置本平臺的熱點排行榜,方便用戶了解正在發(fā)生的熱門事件。但社交平臺數(shù)量眾多,平臺用戶種類和數(shù)量也大不相同,導(dǎo)致不同平臺熱點的實際熱度大小也不同。小鐘為了確保自己知道的熱點是真正的熱點,于是打算用功能強大的python把各個平臺的熱點排行榜進(jìn)行合并,形成自己的熱點排行榜。為了熱點之間比較方便,小鐘設(shè)置了一個熱度值來衡量一個熱點的熱度大小,熱度值越大說明這個熱點的熱度越高。現(xiàn)在小鐘已經(jīng)獲得了如下兩個平臺的熱度值從小到大的排行榜,正當(dāng)他打算將之合并為一個從小到大的排行榜時,卻被老師叫走了。于是他決定把這個小功能交給他的好朋友——你來實現(xiàn),你想到2種算法,請把下列程序填寫完整。AP1066P9P8P7P6P5P4P3P2P1E111B116E9329E8438E7582E6652E5714E4756E3925E2E1011635215271309428576772806950Python程序如下:A=[11,66,116,329,438,582,652,714,756,925]B=[35,116,215,271,(5)__,428,576,772,806,950]算法一:myRank=i=0j=0while(i<len(A)andj<len(B)):if(A[i]<B[j]):(6)______i+=1else:myRank.append(B[j])j+=1while(i<len(A)):myRank.append(A[i])i+=1else:while((7)______):myRank.append(B[j])j+=1print(myRank)算法二:myRank=[0]*(len(A)+len(B))i=0j=0k=0while((8)_____):k=i+jif(i>=len(A)):myRank[k]=B[j]j+=1elif(j>=len(B)):myRank[k]=A[i]i+=1elif((9)_____):myRank[k]=A[i]i+=1else:myRank[k]=B[j]j+=1print(myRank)19.若兩個素數(shù)之差為2,則該對素數(shù)稱為雙胞胎數(shù),如3,5就是一對雙胞胎數(shù)。編寫python程序,實現(xiàn)如下功能:輸入n的值,統(tǒng)計顯示n以內(nèi)的所有雙胞胎數(shù)。程序運行界面如圖所示:實現(xiàn)上述功能的程序如下,請在劃線處填入合適的代碼。importmathdefisprime(x):______foriinrange(2,int(math.sqrt(x))+1):ifx%i==0:f=Falsereturnfn=int(input("請輸入一個正整數(shù)n:"))c=0k=3whilek<=n-2:ifisprime(k)and______________:c+=1print("第"+str(c)+"對雙胞胎數(shù):",k,'和',k+2)_______print("共有"+str(c)+"對雙胞胎數(shù)")劃線處①處應(yīng)該填入的語句為:劃線處②處應(yīng)該填入的語句為:劃線處③處應(yīng)該填入的語句為:;;。20.某企業(yè)開展“運動打卡動動有獎”活動:若員工在本月累計運動時間30小時以下,獎勵0元;達(dá)到30但不足45小時獎勵300元;達(dá)到45但不足60小時獎勵450元;60小時及以上獎勵500元。小強用python編寫程序?qū)崿F(xiàn)相關(guān)功能:輸入某員工本月累計運動時間(時),輸出其能獲得的獎勵金額。(1)實現(xiàn)上述功能的程序如下,請在劃線處填入合適的代碼。t=int(input(“請輸入您本月累計運動時間(時):”))ift<0:print(“輸入錯誤”)else:ift<30:①_elift<45:m=300②_____m=450else:m=500print(“您的獎勵是:”,m)(2)當(dāng)輸入“-1”時,輸出信息為_________(選填,填字母:A.輸入錯誤/B.您的獎勵是:0/C.您的獎勵是:500)21.某市普通高中選課數(shù)據(jù)如圖1所示,學(xué)生從地理、化學(xué)、生物等科目中選擇三門作為高考選考科目,“1”表示已選擇的選考科目。使用Python編程分析每所學(xué)校各科目選考的總?cè)藬?shù)、全市各科選考總?cè)藬?shù)及其占比,經(jīng)過程序處理后,保存結(jié)果如圖2圖1圖2實現(xiàn)上述功能的Python程序如下:importpandasaspdimportitertools#讀數(shù)據(jù)到pandas的DataFrame結(jié)構(gòu)中df=________(”xk73.csv”,sep=‘.’,header=‘infer’,encoding=‘utf-8’)km=[‘物理’,‘化學(xué)’,‘生物’,‘政治’,‘歷史’,‘地理’,‘技術(shù)’]#按學(xué)校分組計數(shù)sc=df.groupby(‘___________’,as_index=False).count()#對分組計數(shù)結(jié)果進(jìn)行合計,合計結(jié)果轉(zhuǎn)換為DF結(jié)構(gòu)并轉(zhuǎn)置為行df_sum=pd.DataFrame(data=sc.sum()).Tdf_sum[‘學(xué)校代碼’]=‘合計’#增加"合計"行result=sc.append(df_sum)#百分比計算df_percent=df_sumdf_percent[‘學(xué)校代碼’]=‘比例’forkinkm:per=df_percent.at[0,k]/zrsdf_percent[k]=per#增加"百分比"行result=result.append(df_percent)#刪除"姓名"列result=______________#修改"學(xué)生編號"為"總?cè)藬?shù)"result=result.rename(columns={‘學(xué)生編號’:‘總?cè)藬?shù)’})#保存結(jié)果,創(chuàng)建Excel文件.生成的Excel文件result.to_excel("學(xué)校人數(shù)統(tǒng)計.xlsx")(1)請在劃線處填入合適的代碼:(2)加框處語句的作用是__________________22.閱讀程序。分析以下關(guān)于字符拼接與轉(zhuǎn)換的Python程序并回答問題。students=['小明','小紅','小剛']scores={'小明':95,'小紅':90,'小剛':90}print(len(students))print(len(scores))(1)students的數(shù)據(jù)類型是______________。(2)scores的數(shù)據(jù)類型是_____________。(3)在scores中,每個字符與后面的數(shù)值共同構(gòu)成了一個____________。(4)len(students)的返回值是____________。(5)print(len(scores))的輸出結(jié)果是__________。23.水仙花數(shù)是指一個三位數(shù),它的每個位上的數(shù)字的3次方之和就等于它本身,例如:1**3+5**3+3**3=153。這類三位數(shù)也被叫做自戀數(shù)、自冪數(shù)或者阿姆斯特朗數(shù)。[問題求解]設(shè)這個數(shù)存放于變量x中,變量g、s、b分別存放個位、十位、百位上的數(shù)。需得分離數(shù)字得到每位上的數(shù),即將變量g、s、b表示為x的形式。請閱讀如下python程序,在空白處填寫適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整。print("三位數(shù)之內(nèi)的水仙花是:")forxin___(100,1000):b=x//100s=(x//10)___g=___Ifx=(b**3+s**3+g**3):print(___)24.(項目情境)水仙花數(shù)是指一個三位數(shù),它的每個位上的數(shù)字的3次方之和就等于它本身,例如:1**3+5**3+3**3=153。這類三位數(shù)也被叫做自戀數(shù)、自冪數(shù)或者阿姆斯特朗數(shù)。(問題求解)設(shè)這個數(shù)存放于變量x中,變量g、s、b分別存放個位、十位、百位上的數(shù)。需得分離數(shù)字得到每位上的數(shù),即將變量g、s、b表示為x的形式。請閱讀如下python程序,在空白處填寫適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整。print("三位數(shù)之內(nèi)的水仙花是:")forxin_____:b=x//100s=_____g=_____ifx==(b**3+s**3+g**3):_____25.設(shè)計完成算法之后,小C打算用所學(xué)的Python程序設(shè)計語言完成程序的編寫。(1)Python程序設(shè)計語言屬于程序設(shè)計語言中的_______________。A.機器語言B.匯編語言C.高級語言D.翻譯程序(2)小C將設(shè)計好的算法轉(zhuǎn)為Python程序語言(如下)。其中“Tot2=8”是一個___________,“#初始化時長費為0”是一個__________,“S<=3.3”是一個___________,“float(input(“請輸入時長”))”是一個__________。A.函數(shù)B.表達(dá)式C.賦值語句D.注釋語句1Tot1=0#初始化時長費為02Tot2=0#初始化里程費為03S=float(input(“請輸入里程數(shù)”))4T=float(input(“請輸入時長”))#輸入里程數(shù)和時長5if(T>9):#計算時長費用6Tot1=(T-9)*0.27if(S<=3.3):#算里程費用8Tot2-89else:10Tot2=8+(S-3.3)*1.3511Cost-Totl+tot212print(Cost)#輸出總車費(3)小C寫好代碼之后,編譯運行發(fā)現(xiàn)報錯了,根據(jù)下圖中所示的錯誤信息分析該程序報錯的原因是:____________________________________________________________________________________________。NameErrorTraceback(mostrecentcalllast)<ipython-input-2-fc682f6f4658>in<modu1e>9else:10—→11Cost=Tot1+tot212NameError:name’tot2’isnotdefined(4)經(jīng)過修改之后,小C對照某次滴滴打車的訂單,將對應(yīng)的公里數(shù)和時長輸入程序,運行得到的結(jié)果與實際支付的費用一致,小C會心一笑驗證得知程序正確無誤。小C借助于計算機編寫程序解決問題的這個過程是:①設(shè)計算法②編寫程序③分析問題④調(diào)試運行程序,合理的順序是_________。(填寫序號即可)(5)總結(jié)用計算機解決問題的優(yōu)勢主要有:_______________________________________________。26.小強想要快速了解“十四五規(guī)劃”內(nèi)容的關(guān)鍵詞,他先把“十四五規(guī)劃”內(nèi)容存儲在ssw.txt文檔中,如圖a所示,統(tǒng)計文檔中出現(xiàn)次數(shù)最多的前十個關(guān)鍵詞,結(jié)果如圖b所示。文本數(shù)據(jù)處理的算法設(shè)計如圖c所示,用Python語言編寫的程序段如圖d所示。請根據(jù)流程圖的每個步驟,填寫程序段編號,如A:⑦B:①D:③?,F(xiàn)填寫C、E、F、G對應(yīng)的程序段編號.C:__________E:__________F:__________G:__________圖a圖b圖c圖d27.編寫Python程序?qū)崿F(xiàn)如下功能:輸入年月日,輸入格式如“2021-06-21”,年月日之間用“-”分隔。判斷這一天是這一年的第幾天。以2021-06-21為例,前面5個月總天數(shù),加上21天即這一天是本年的第幾天。特殊情況,當(dāng)輸入的年份是閏年時,2月份有29天。閏年的判斷方式如下:I、能被4整除,但不能被100整除;II、能被400整除;(1)“2020-05-20”這一天是這一年的第_________天。(2)編寫Python代碼如下,在劃線處填入正確的代碼___________________________________________________(3)加框處的代碼有誤,請改正。改正:_________________mon=[31,28,31,30,31,30,31,31,30,31,30,31]#mon中存儲1-12每個月的天數(shù)s=input("請輸入年月日:")'month=int(s[5:7])①sum=0foriinrange(②):sum+=mon[i]sum+=dayif:isleap=Trueelse:isleap=Falseif③sum+=1print("這一天是當(dāng)年的第"+str(sum)+''天'')28.使用Python自身提供的IDLE集成開發(fā)環(huán)境錄入以下代碼及調(diào)試運行,檢測結(jié)果。#雞兔同籠forxinrange(1,23):y=35-xif4*x+2*y==94:print("兔子有%s只,雞有%s只"%(x,y))特別提示:代碼錄入完畢,調(diào)試運行,檢測錯誤,討論錯誤原因,上網(wǎng)查找錯誤格式的處置辦法,直至能正確輸出結(jié)果。29.請編寫Python程序,實現(xiàn)如下功能需求:1)程序運行后,給出文字提示:“請輸入一個正整數(shù):”2)輸入一個整數(shù)n按回車后,程序輸出從1-n所有整數(shù)中既是3的倍數(shù)又是5的倍數(shù)的數(shù)。3)不要超過5行代碼。程序運行舉例:30.完善代碼并保存。實現(xiàn)功能:從鍵盤輸入10個學(xué)生的測試成績,輸出最高分和最低分。cj=[]foriinrange(0,________):x=float(input("請輸入一個數(shù)"))cj.append(________)print(max(cj),min(________))input("運行完畢,請按回車鍵退出...")【參考答案】***試卷處理標(biāo)記,請不要刪除一、程序填空1.n*f(n-1)range(1,n+1)s+f(i)【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①此處是定義遞歸函數(shù)f(n),由題干,當(dāng)n=0時,返回1,否則返回n*f(n-1),故此處填n*f(n-1)。②用遞歸算法求1!+2!+……+n!,故變量i的范圍應(yīng)是1—n,foriinrange(1,n+1)表示i的范圍是[1,n],故此處填range(1,n+1)。③循環(huán)體實現(xiàn)累加,將每一項階乘f(i)加到s中,故此處填s+f(i)。2.total=0#變量可任選(符合規(guī)則)foriinrange(1,101):total=total+i*i#total=total+i**2print(total)【詳解】本題主要考查Python程序的編寫。①變量total用來統(tǒng)計最終的計算結(jié)果,其初始值為0,故填total=0#變量可任選(符合規(guī)則)。②求1+22+32+……+1002的結(jié)果,用for循環(huán)結(jié)構(gòu),變量i的范圍是從1到100,故填foriinrange(1,101):。③計算語句是total=total+i*i#total=total+i**2。④最后用print()函數(shù)輸出計算結(jié)果total,故填print(total)。3.計算每一項的階乘記錄階乘相加后的和t記錄的是每一項階乘的結(jié)果,t*=n即t=t*n,t初值為1,能計算出每項的階乘結(jié)果,若為0,則每項的階乘結(jié)果都是0,不符合題意。t=t*ns=s+t【詳解】本題考查的是python語言編程。本題考查的是1-20階乘的求和。本題的重點是要先計算出對應(yīng)的每一項階乘的結(jié)果t,然后20項階乘的結(jié)果記錄在s中。在此過程中既要考慮到累乘求階乘結(jié)果,又要考慮到累加求所有階乘的和。初值n=0,在1-21的循環(huán)過程中,記錄每一項的階乘,s=0記錄階乘累加的和,t=1記錄每一項階乘的結(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時,執(zhí)行sum變量累加i,輸出i,i自增加1操作,因此本題輸出0后,循環(huán)無限執(zhí)行下去?!军c睛】5.layer=int(input("請輸入需要打印的層數(shù):"))forxinrange(1,layer+1):foryinrange(1,x+1):print("*",end="")print("")【詳解】本題主要考查Python循環(huán)結(jié)構(gòu)。Pythonfor循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串。range可以生成一個整數(shù)列表,列表范圍根據(jù)接收的layer來確定。外層循環(huán)用于確定輸出行數(shù),內(nèi)層循環(huán)用于控制每行符號個數(shù)?!军c睛】6.llist.append([n-1,0])head=0long>1head=llist[k][1]llist[k][1]=llist[t][1]k=llist[k][1]【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①for循環(huán)體是將索引0-n追加到llist中,此處是循環(huán)體執(zhí)行完,將末元素與首元素的索引加入到llist中,故填llist.append([n-1,0])。②head是列表頭,初始化為0,故填head=0。③最后剩下一個,其余人都將被殺掉,故循環(huán)條件是long>1,變量long控制元素個數(shù),故填long>1。④索引為t的刪除后,此處是更新head值,故填head=llist[k][1]。⑤刪完后,如果t等于head,需要更新索引k,將索引t的值賦給變量k,故填llist[k][1]=llist[t][1]。⑥如果t不等于head,也需要更新索引k,故填k=llist[k][1]7.【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。運行結(jié)果如下:8.l=[]foriinrange(2000,3201):if(i%7==0)and(i%5!=0):l.append(str(i))print(','.join(l))【詳解】本題主要考查程序設(shè)計。由題干要求,可以使用Python程序設(shè)計語言實現(xiàn),可使用for循環(huán)以及列表,可以使用join函數(shù)按逗號分隔格式打印結(jié)果,join函數(shù)連接字符串?dāng)?shù)組,將字符串、元組、列表中的元素以指定的字符(分隔符)連接生成一個新的字符串,具體代碼如下: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)計字母space=0#統(tǒng)計空格digit=0#統(tǒng)計數(shù)字other=0#統(tǒng)計其他字符forcins:ifc.isalpha():letter+=1elifc.isspace():space+=1elifc.isdigit():digit+=1else:other+=1print("字母:",letter,"空格:",space,"數(shù)字:",digit,"其他字符:",other)【詳解】本題主要考查程序設(shè)計。題干要求可通過Python程序?qū)崿F(xiàn),使用for循環(huán)、多條件分支結(jié)構(gòu)。其中實現(xiàn)分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)可通過函數(shù)isalpha、isspace、isdigit來判斷統(tǒng)計,具體代碼如下:s=input('inputastring:')letter=0#統(tǒng)計字母space=0#統(tǒng)計空格digit=0#統(tǒng)計數(shù)字other=0#統(tǒng)計其他字符forcins:ifc.isalpha():letter+=1elifc.isspace():space+=1elifc.isdigit():digit+=1else:other+=1print("字母:",letter,"空格:",space,"數(shù)字:",digit,"其他字符:",other)10.foriinrange(100,1000):a=i//100b=(i//10)%10c=i%10ifi==a*a*a+b*b*b+c*c*c:print(i)【詳解】本題主要考查程序設(shè)計??赏ㄟ^Python程序設(shè)計實現(xiàn)題干要求,通過for循環(huán)找出水仙花數(shù),依次取出三位數(shù)的每一位數(shù),其中百位a=i//100,十位b=(i//10)%10,個位c=i%10,然后判斷是否是水仙花數(shù),具體代碼如下:foriinrange(100,1000):a=i//100b=(i//10)%10c=i%10ifi==a*a*a+b*b*b+c*c*c:print(i)11.將year轉(zhuǎn)換為整型數(shù)據(jù),并賦值給yearAndyear%100!=0oryear【詳解】本題主要考查Python程序設(shè)計。①input接收的數(shù)據(jù)類型是字符串型,該語句表示將year轉(zhuǎn)換為整型數(shù)據(jù),并賦值給year。判斷某一年是否是閏年的方法是年份數(shù)能被4整除,但不能被100整除,或者年份數(shù)能被400整除,故第二、三、四空分別填②And③year%100!=0④or⑤最后輸出打印某一年是否是閏年,需要將year轉(zhuǎn)換為字符型。12.-b/(2*a)【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①delta大于0,方程有兩個不同的解,delta等于0,方程有兩個相同的解,delta小于0,方程無解,故第一空填0。②delta=0,則方程有兩個相同的根,x=-b/(2*a),故第二空填-b/(2*a)。13.c5【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①第一個人38歲,n標(biāo)記第幾個人,變量c保存年齡,當(dāng)n=1時,c=38,故第一空填38。②后面的人都比前一個人小3歲,故當(dāng)n不等于1時,調(diào)用遞歸函數(shù)age,c=age(n-1)-3,最后返回第n個人的年齡c,第二空填c。③此處是返回第5個人的年齡,即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為止。如果是求兩個數(shù)的最大公約數(shù),那么最后的除數(shù)就是這兩個數(shù)的最大公約數(shù)。由n=min(x,y)可知最小值為n,故①處為n,由r=m%n可知余數(shù)為r,故②處為r,最后的除數(shù)是n(即最大公約數(shù)為n),故③處為n。15.順序結(jié)構(gòu)pi=3.14r=float(input(“請輸入半徑r:”))整型和實數(shù)型不能直接運算,結(jié)果會有誤差h=float(input(“請輸入高h(yuǎn):”))【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①分析程序可知,解決問題的程序用到的控制結(jié)構(gòu)有:順序結(jié)構(gòu)。②圓周率定義為:3.14,故第二空填pi=3.14。③r=float(input(“請輸入半徑r:”))整型和實數(shù)型不能直接運算,結(jié)果會有誤差h=float(input(“請輸入高h(yuǎn):”))。16.a(chǎn)=float(input("請輸入一個數(shù)"))b=float(input("請輸入一個數(shù)"))c=float(input("請輸入一個數(shù)"))ifc>aandc>b:print("最大數(shù)為:",c)elifb>a:print("最大數(shù)數(shù)",b)else:print("最大小數(shù)為",a)【詳解】本題主要考查算法描述及Python程序設(shè)計。分析算法流程圖,首先輸入a、b、c三個數(shù),進(jìn)行兩兩比較,輸出最大數(shù),故Python程序設(shè)計如下:a=float(input("請輸入一個數(shù)"))b=float(input("請輸入一個數(shù)"))c=float(input("請輸入一個數(shù)"))ifc>aandc>b:print("最大數(shù)為:",c)elifb>a: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。④逐一驗證了100到999之間所有的三位數(shù)是否符合,這種算法叫做枚舉法。⑤在研究成果展示環(huán)節(jié),張軒小組可以使用Word/WPS/PowerPoint等軟件制作《探秘水仙花數(shù)》的研究成果報告。18.myRank.append(A[i])j<len(B)k<len(A)+len(B)-1A[i]<B[j]【詳解】本題主要考查python編程。根據(jù)表格所示,列表B中第5個元素為309,因此①處為309;A[i]<B[j]時,將列表末尾添加A[i],因此②處為myRank.append(A[i]);當(dāng)列表未結(jié)束時,列表末尾添加相應(yīng)元素,因此③處為j<len(B);算法二中引入變量k,用以記錄i與j的和,當(dāng)k小于len(A)+len(B)-1說明兩列表未結(jié)束,因此④處為k<len(A)+len(B)-1;若A[i]<B[j],則先將A[i]添加至列表末尾,因此⑤處為A[i]<B[j]?!军c睛】19.f=Trueisprime(k+2)k=k+1或k+=1或k=k+2或k+=2【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①isprime(x)用來判斷x是不是素數(shù),通過用x整除2~int(math.sqrt(x)),如果余數(shù)為0則表明該數(shù)不是素數(shù),賦值f為假退出循環(huán),f的初值為True,故第一空填f=True。②若兩個素數(shù)之差為2,則該對素數(shù)稱為雙胞胎數(shù),此處判斷相差為2的兩個數(shù)是不是素數(shù),故第二空填isprime(k+2)。③素數(shù)都是奇數(shù),此處需要更新k的值繼續(xù)循環(huán)判斷,可以將k的值遞增1或遞增2,故填k=k+1或k+=1或k=k+2或k+=2。20.m=0elift<60:A【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①若員工在本月累計運動時間30小時以下,獎勵0元,即m=0。②達(dá)到45但不足60小時獎勵450元,故填elift<60:。③-1<0,不是有效值,故輸出信息為“輸入錯誤”,故本題選A選項。21.pd.read_csv學(xué)校代碼result.drop(‘姓名’,axis=1)將總?cè)藬?shù)存儲到變量zrs中【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①將csv文件讀入并轉(zhuǎn)化為數(shù)據(jù)框形式,故填pd.read_csv。②groupby函數(shù)主要的作用是進(jìn)行數(shù)據(jù)的分組,此處按學(xué)校分組計數(shù),故填學(xué)校代碼。③此處刪除"姓名"列,可以使用drop()函數(shù)來刪除,故填result.drop(‘姓名’,axis=1)。④zrs=len(df.index),該語句是統(tǒng)計df內(nèi)有多少個元素,即將總?cè)藬?shù)存儲到變量zrs中。22.列表字典鍵值對33【詳解】本題考查的是python語言的數(shù)據(jù)類型,列表和字典。(1)列表是寫在方括號[]之間,用逗號分隔開的元素列表,students=['小明','小紅','小剛']就是列表。(2)字典用{}標(biāo)識,它是一個無序的“鍵(key):值(value)”對集合,字典當(dāng)中的元素是通過鍵來存取的,而不是通過偏移存取。scores={'小明':95,'小紅':90,'小剛':90}就是一個字典類型。(3)其中“'小明':95”就構(gòu)成了一個鍵值對。(4)len()方法返回列表元素個數(shù)。students=['小明','小紅','小剛'],里面有三個元素,故返回值是3。(5)print(len(scores)),其中scores={'小明':95,'小紅':90,'小剛':90}該字典有3個鍵值對,故輸出結(jié)果是3。23.range%10x%10或x-b*100-s*10或其它同等答案x【詳解】本題考查的是Python程序設(shè)計。水仙花數(shù)是指一個三位數(shù),故使用range函數(shù)遍歷100~999;s存放的是十位數(shù),故可以選對x取整后再除以10求余,故第二空應(yīng)填%10(求余符號%);g是存放個位,直接除以10求余,或減去前面整百和整十的數(shù),故第三空為:x%10或x-b*100-s*10或其它同等答案;如果找到滿足條件的數(shù),則輸出,故第四空為:x。24.range(100,1000)x//10%10x%10print("三位數(shù)之內(nèi)的水仙花是:"+str(x))【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①水仙花數(shù)是指一個三位數(shù),即[100,999],forxinrange(100,1000)表示x的范圍是100-999,故此處填range(100,1000)。②變量g、s、b分別存放個位、十位、百位上的數(shù),故s=x//10%10(“//”表示整除,“%”表示取余)。③g=x%10。④如果滿足x==(b**3+s**3+g**3),則輸出“三位數(shù)之內(nèi)的水仙花是:x”,故此處填print("三位數(shù)之內(nèi)的水仙花是:"+str(x))。25.

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論