




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
python軟件編程等級考試(三級)編程實操題05優(yōu)質(zhì)程序填空閱讀填空程序試題一、程序填空1.程序設計:唐三藏又被妖怪抓走了,這次孫悟空還是沒打得過妖怪,于是來求觀音菩薩。觀音菩薩告訴孫悟空,在天庭里身高正好為1000米的那位神仙可以降伏此妖。于是悟空立刻來到天上,在玉皇大帝的神仙冊上看到了按身高從矮到高排列有10000個神仙。由于時間緊迫,悟空想用最短的時間找到這位神仙,這樣才可以盡快解救唐僧。代碼如下:List=list(map(int,input(“請按身高遞增順序依次輸入10000個神仙的身高”).split()))left=1right=10000while①mid=②ifList[mid]==1000:③elifList[mid]<1000:④else:⑤print(“能幫孫悟空的神仙在第{0}位上”.format(mid+l))(1)程序代碼中①處正確的代碼是(_______)。A.left<rightB.left<=rightC.left!=rightD.left>right(2)程序代碼中②處正確的代碼是(_______)。A.(left+right)/2B.(left+right)\2C.(left+right)//2D.(left+right)\\2(3)程序代碼中③處正確的代碼是(_______)。A.passB.print(mid)zC.breakD.continue(4)程序代碼中④處正確的代碼是(_______)。-A.left=midB.right=midC.left=mid+1D.right=mid-1(5)程序代碼中⑤處正確的代碼是(_______)。A.left=midB.right=midC.left=mid+1D.right=mid-12.程序編寫求1+22+32+……+1002的結(jié)果____________________________________________________________________________________________________________________________input(“運行完畢,請按回車鍵退出...”)3.閱讀程序。分析條件語句的代碼并回答問題。(1)如果不能使用int()函數(shù),那么變量s的類型將會變成______。(2)如果你的期末成績是85,你得到的評價將會是____________。(3)如果你的期末成績是55,你得到的評價將會是____________。(4)如果你得到的評價是“還可以再提升”,你的期末成績應該在_____和______之間。(5)“程序中出現(xiàn)的所有else都可以替換為elif,程序效果一樣”,這種說法是____(填“對”或“錯”)的。4.完善程序。以下是猜數(shù)游戲的程序,請在畫線出填寫正確的內(nèi)容。importrandomsecret=random.randint(0,10)print(“---猜數(shù)游戲-----”)cs=int(input(“你猜的數(shù)字是”))whilecs!=secret:_______cs>secret:_________(“唉,猜大啦!”)__________:print(“嘿嘿,猜小了!”)cs=int(input(“重新猜一個靠譜的數(shù)字是:”))print(“游戲結(jié)束,不玩了!”)5.完善程序。以下是計算S=1+6+11+…+101的程序代碼。請你在處填寫正確的語句。s=0k=1while(k<=101)__s=0k=1while(k<101):k=k+5s=s+kprint(s+1)6.分析完善程序已知包含25項的數(shù)列:1,2/3,3/5,....,24/47,25/49。問題1:寫出該數(shù)列的通項公式f(n)=_①問題2:以下是計算S=1+2/3+3/5+...+24/47+25/49的程序,請補全代碼:s=0foriinrange(1,26):s=s+②print(“s=”,s)補充完成上述通項公式和程序:①f(n)=_________②___________7.約瑟夫問題是個有名的問題: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])8.輸入三個同學的成績,然后大到小排列。9.哥德巴赫在1742年提出了以下猜想:任何一個大于2的偶數(shù)都可以寫成兩個質(zhì)數(shù)之和,請完善代碼幫助哥德巴赫驗證他的猜想。importmathdefss(n):Flag=Truei=2whilei<=int(math.sqrt(n))andFlag:if_____________Flag=False_____________returnFlagn=int(input(“輸入一個大于2的偶數(shù)”))foriinrang(2,n//2+1):if____________print(str(n)+"="+str(i)+"+"+str(n-i))如果輸入“8”則結(jié)果顯示_____10.小明設計了一個可以輸入日期得到當天是年度第幾天的程序,請閱讀程序,完成填空(閏年判斷規(guī)則:能被4整除但不能被100整除或能被400整除,閏年的2月為29天)day=input("請輸入年月日(格式舉例:2000-01-05):")year=int(day[:4])month=_________sun=int(day[8:10])print(year,month,sun)f_run=[31,28,31,30,31,30,31,31,30,31,30,31]tall_day=0if______:foriinrange(month-1):tall_day+=f_run[i]__________else:foriinrange(month-1):tall_day+=f_run[i]tall_day+=sunprint(day+"是當年的第"+str(tall_day)+"天")(1)將程序橫線處補充完整(2)如輸入“2020-4-19”為當年的第_____天。11.編寫程序,找到并輸出100以內(nèi)的偶數(shù)個數(shù)。12.輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。13.求100以內(nèi)素數(shù)。14.請在空格處填寫正確的代碼,使程序完善。實現(xiàn)功能:繪制y=x2-2x+1的圖像#加載numpy模塊并限簡潔的別名為npimportnumpyasnp#加載matplotlib.pyplot模塊并限簡潔的別名為pltimportmatplotlib.pyplotasplt#x在-7到9之間,每隔0.1取一個點x=np.arange(-7,9,0.1)_____=x**2-2*x+1plt.plot(x,________)plt.title('y=x*x-2*x+1')plt.xlabel('x')plt.ylabel('y')plt._________15.程序設計:在舞會上,男生、女生各自排成一隊。舞會開始時,依次從男隊和女隊的隊頭各出一人配成舞伴。跳完后的兩人重新回到隊尾。例如:boy=['Alex','Steven','Jack'],girl=['Ada*,'Babs'.,'Danla','Jane']輸出:Turn1:(Alex,Ada)Turn2:(Steven,Babs)Turn3:(Jack,Danla)Turn4:(Alex,jane)……Turn12:(Jack,jane)代碼如下:boy=['Alex','Steven',‘Jack']girl=['Ada','Babs','Danla','Jane']foriinrange(12):x,y=①#出隊print(“Turn{:2}):({},{})".format(i+1,x,y))boy.append(②)#再進隊girl.append(③)#再進隊(1)程序代碼中①處正確的代碼是(_______)。A.boy.pop(l).girl.pop(l)B.girl.pop(l),boy.pop(l)C.boy.pop(0),girl.pop(0)D.girl.pop(0),boy.pop(0)(2)程序代碼中②處正確的代碼是(_______)。A.xB.yC.iD.i+1(3)程序代碼中③處正確的代碼是(_______)。A.xB.yC.iD.i+116.閱讀程序。分析以下Python程序并回答問題。who='我的'action='是'destination='鏡像世界'number='153'code='通行密碼'print(who+destination+code+action+str(number))(1)變量who的數(shù)據(jù)類型_______________。(2)類似number的數(shù)據(jù)類型______________。(3)print語句輸出的結(jié)果是______________。(4)str(number)的作用是_________。(5)“+”在程序中的作用是____________。17.(最大公約數(shù))用輾轉(zhuǎn)相除法求兩個正整數(shù)的最大公約數(shù)。代碼如下:defgcd(m,n):r=whiler!=0:m=nn=returna=int(input(‘請輸入a的值:’))b=int(input(‘請輸入b的值:’))print(‘最大公約數(shù)是:')填空:________________________________________18.為保護環(huán)境,很多城市開始對垃圾實行分類,便于更好的進行處理,為了讓大家了解垃圾的分類情況,建立了以下四類列表,list1(可回收垃圾)、list2(有害垃圾)、list3(易腐垃圾),剩下的為其他垃圾,目前,列表中已經(jīng)存儲了以下數(shù)據(jù)。list1=["玻璃瓶","舊書","金屬","紙板箱","舊衣服","易拉罐"]list2=["膠片","消毒水","紐扣電池","水銀溫度計","過期藥水","泡沫塑料"]list3=["動物內(nèi)臟","菜葉菜梗","過期食品","香蕉皮","果殼"]根據(jù)現(xiàn)有列表,完成以下問題:(1)寫出從列表list3中取出“過期食品”的表達式:___________________________________________________________________________(2)寫出從list1中截取["舊書","金屬","紙板箱"]這一段的表達式:___________________________________________________________________________(3)現(xiàn)又發(fā)現(xiàn)一個新的列表如下:list4=["過期化妝品","過期藥品","殺蟲劑"],經(jīng)過判斷,里面存放的為有害垃圾,如何將該列表中的元素添加到list2中,請寫出相關(guān)的表達式:__________________________________________________________________________(4)小明在路上撿到了一個塑料瓶,判斷為可回收垃圾,寫出相關(guān)表達式,將塑料瓶添加到列表list1中:__________________________________________________________________________19.已知圓柱體的底面半徑為r,高為h,(均為正整數(shù)),小張編寫了一個程序計算圓柱體的地面周長和面積,圓柱體側(cè)面積以及圓柱體體積,其中圓周率定義為:3.14,請根據(jù)下列代碼回答問題:r=int(input(“請輸入半徑r:”))h=int(input(“請輸入高h:”))_________________________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)請找出程序中的錯誤代碼,并改正。____________________________________________20.有如下程序段:sum=0foriinrange(1,20,3):sum+=iprint(“sum=”,sum)(1)循環(huán)變量i的初值為:_________,終值為:_________,步長為:__________。(2)該程序執(zhí)行后,輸出的結(jié)果為:____________________。21.輾轉(zhuǎn)相除法,又稱歐幾里德算法,用于計算兩個正整數(shù)m、n的最大公約數(shù)。它是已知最古老的算法,其可追溯至公元前300年前。輾轉(zhuǎn)相除法的算法步驟是,對于給定的兩個正整數(shù)m、n(m>n),用m除以n得到余數(shù)r,若余數(shù)r不為0,就將n和r構(gòu)成新的一對數(shù)(m=n,n=r),繼續(xù)上面的除法,直到余數(shù)為0,這時m就是原來兩個數(shù)的最大公約數(shù)。因為這個算法需要反復進行除法運算,故被形象地命名為“輾轉(zhuǎn)相除法”。小曲設計了輾轉(zhuǎn)相除法的算法,請根據(jù)下面算法回答問題。描述一描述二描述三①輸入兩個正整數(shù)m,n(m>n);②計算m除以n所得的余數(shù)r;③m=n,n=r;④若r=0,則m,n的最大公約數(shù)等于m;否則轉(zhuǎn)到步驟②;⑤輸出最大公約數(shù)m;⑥結(jié)束。(1)描述一是________描述法;描述二是流程圖描述法;描述三是計算機程序語言描述法。(2)在描述三中代碼4到6行作用是__________。(3)在描述三程序設計中,補充代碼第8行劃線處為__________。22.現(xiàn)代生活半徑的擴大和生活節(jié)奏加快使出行成本不斷增長。滴滴快車應運而生,其以靈活快速的響應和經(jīng)濟實惠的價格為大眾提供更高效、更經(jīng)濟、更舒適的出行服務,給人們生活帶來了美好的變化。小C是滴滴快車忠實的粉絲,經(jīng)常出行就提前預約,乘坐滴滴快車。小C就在思考這個滴滴快車是怎么計費的?可否用所學的Python語言也編寫一個計費程序。于是小C開展了有關(guān)這個項目活動的探究。根據(jù)實際情況,回答問題。(一)收集、分析數(shù)據(jù),運用數(shù)理思維建模登錄滴滴出行官網(wǎng),得到了如下信息,即“滴滴快車(普通型)計價規(guī)則”:滴滴快車(普通型)計價規(guī)則時段起步價里程費時長費普通時段8.00元1.35元/公里0.20元/分鐘00:00-06:308.50元2.40元/公里0.50元/分鐘06:30-09:008.50元1.50元/公里0.45元/分鐘21:00-23:008.50元1.50元/公里0.40元/分鐘23:00-00:008.50元2.40元/公里0.50元/分鐘注意:1.起步價包含里程3.3公里,包含時長9分鐘,里程費、時長費合計不足基礎費時,直接按照基礎費計費。2.實時計價是基于訂單服務內(nèi)容(里程、時長、時段),按各種費用項定價標準計算訂單價格的計價方式,實際費用由兩部分里程費與時長費累加而得。小C同學19:33從“南內(nèi)環(huán)恒地大廈停車場-入口”到“塢城新紀元大酒店(長風店)”乘坐滴滴快車(普通車型),里程4.1公里,時長約21分鐘,按照表中的計費規(guī)則,小C同學此次出行應該支付的車費是:車費=8+(4.1-3.3)×1.35+(21-9)×0.2=9.68。(1)小C登錄滴滴出行官網(wǎng)搜索并下載“計價規(guī)則”,所采用的數(shù)字化工具:_____________A.數(shù)字化可視化表達工具B.信息加工工具C.三維設計工具D.信息檢索工具(2)假設Tot1表示時長費,Tot2表示里程費,S表示實際里程,T表示實際時長,Cost表示應支付費用。運用數(shù)學解析式歸納出計費公式為:如果時長超過9分鐘,則Tot1=_____________。如果里程小于等于3.3公里則Tot2=_____________,否則Tot2=_____________。應支付費用:Cost=______________。(二)運用算法描述方法將問題解決步驟化小C明晰了滴滴快車車費的計算方法之后,設計求解滴滴快車普通時段車費的算法,并用自然語言和流程圖的方式表述出來。(3)自然語言描述:第一步:_________________________第二步:計算時長費Totl第三步:計算里程費Tot2第四步:_________________________第五步:_________________________(4)流程圖描述:(如圖)流程圖中,表示計算與賦值的是_____________,表示算法流向的是______________。A.B.C.D.E.(5)算法描述中,用到了三種基本控制結(jié)構(gòu),分別是_______________、______________和______________。如圖示中的流程圖使用的控制結(jié)構(gòu)是_______________和______________。(選填:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、樹型結(jié)構(gòu))(6)一個算法必須有______________或多個數(shù)據(jù)輸入。有______________或多個數(shù)據(jù)輸出。(選填:零個/一個)(三)編寫、調(diào)試、運行程序,驗證算法并解決問題________23.某字符轉(zhuǎn)置算法描述如下:將字符串(均為大寫字符)s依次轉(zhuǎn)換為相對應的數(shù)值(字符A~Z對應數(shù)值1~26);·轉(zhuǎn)換后的數(shù)值以K個數(shù)據(jù)為一段,將n個待處理的數(shù)據(jù)依次分割成若干段(最后一段不足部分用0來補充);每一段中K個數(shù)據(jù)與K*K轉(zhuǎn)置矩陣進行乘法運算;將乘法運算得到的每一個結(jié)果值除以26求余數(shù),依次轉(zhuǎn)換成相應字符(數(shù)值1~26對應字符A~Z),最后按原始字符串長度輸出。乘法運算規(guī)則如下:第i個元素c(i)=第j個元素a(j)*轉(zhuǎn)置矩陣第j行第i個元素b(t)的乘積之和(其中j=1,2…K)例如:字符串s=PYTHON,區(qū)塊大小K=4,的轉(zhuǎn)置過程如下:(1)根據(jù)算法描述,上述示例中,字符“N”的相乘結(jié)果(即圖中(★)處)為________。(2)請在劃線處填入合適代碼。PrivateSubCommandl_Click()Dima(1To100)AsInteger′存儲字符串,長度不超過100個字符Dimb(1To100)AsInteger存儲轉(zhuǎn)置矩陣,長度不超過10*10Dimc(1To100)AsLongDimsAsString,tmpAsStringDimkAsInteger,tAsInteger,iAsInteger,jAsIntegerDimnAsInteger,mAsInteger,lensAsIntegers=Textl.Text′在Textl中輸入原始字符串k=Val(Text2.Text)′在Text2中輸入?yún)^(qū)塊大小KRandomizeFori=1Tok^2b(i)=Int(Rnd*9)+1tmp=tmp十Str(b(i))IfiModk=0ThenList2.AddItemtmptmp="".EndIfNextilens=Len(s):n=lensFori=1Tontmp=Mid(s,i,1)①__________Listl.AddItemStr(a(i))NextiDoWhilenModk<>0n=n十1a(n)=0Listl.AddItemStr(a(n))LoopFori=1Tonm=(i―1)Modk+1t=1Forj=②__________c(i)=a(j)*b((m-1)*k+t)+c(i)t=t+1NextjNextiFori=1TonList3.AddItemStr(c(i))Nextis=″″Fori=1Tolens③__________s=s+Chr(t+64)}NextiText3.Text=s′在Text3中輸出轉(zhuǎn)置后的字符串EndSub24.密碼強度檢測。編寫python程序,實現(xiàn)如下功能:輸入要檢測的密碼,輸出密碼強度結(jié)果。密碼字符分為數(shù)字字符、字母和其他符號三類。密碼強度的檢測方法為:若密碼位數(shù)少于8位,則不進行強度檢測,給出提示“密碼位數(shù)不能少于8位,請重新輸入!”。若密碼位數(shù)在8位及以上,則進行強度檢測:若密碼字符屬于同一類字符,則密碼強度為“弱”;若密碼字符屬于不同的二類字符,則密碼強度為“中等”;若密碼字符屬于不同的三類字符,則密碼強度為“強”。(1)若輸入“12abcd5!”,則輸出結(jié)果為_________(選填,選字母:A.密碼位數(shù)不能少于8位,請重新輸入!/B.弱/C.中等/D.強)(2)實現(xiàn)上述功能的程序如下,請在劃線處填入合適的代碼。password=input(“請輸入要檢測的密碼:”)①_______________ifn<8:print(“密碼位數(shù)不能少于8位,請重新輸入!”)else:n1=0n2=0n3=0foriinrange(0,n,1):②_______if“0”<=ch<=“9”:n1=1elif“a”<=ch<=“z”or“A”<=ch<=“Z”:n2=1else:n3=1③_____ifx==3:print(“強”)elifx==2:print(“中等”)else:print(“弱”)25.(項目情境)遞歸就是自己調(diào)用自己,它是設計和描述算法的一種有力工具,常常用來解決比較復雜的問題。為求解規(guī)模為N的問題,設法將它分解成規(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ù),從鍵盤輸入)。請閱讀如下程序,在空白處填寫適當?shù)谋磉_式或語句,使程序完整。deff(n):ifn==0:return1else:return_________s=0n=int(input("請輸入n:"))foriin_______:s=________print(s)26.某餐館近期推出“消費1000元及以上享受8折優(yōu)惠,1000元以下享受每滿100減15優(yōu)惠”的活動。以下Python程序段實現(xiàn)了生成顧客消費清單的功能,請補全①②③處代碼。defgs(n):#字符串長度統(tǒng)一iflen(n)>=5:n=_____#取字符串的前5個字符else:n=n+""*(5-len(n))returnnr=1000;x=100;y=15;z=0.8#從系統(tǒng)中分別獲取消費額度、滿和減以及打折的數(shù)值dis=["紅燒排骨","香炸刀魚","蝦仁","菜心","米飯"]#某顧客所點菜品名稱num=[1,1,1,1,3]#某顧客所點菜品數(shù)量mon=[46,45,68,16,1]#某顧客所點菜品單價print("菜品名稱","數(shù)量","小計")_____foriinrange(len(dis)):print(gs(dis[i]),num[i],"",num[i]*mon[i])s=s+num[i]*mon[i]ifs>=r:total=s*zelse:______print("消費合計:",s)print("應收現(xiàn)金:",total)27.若兩個素數(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ù)")劃線處①處應該填入的語句為:;劃線處②處應該填入的語句為:;劃線處③處應該填入的語句為:。28.小金同學學完了進制轉(zhuǎn)換后,對課后的不同進制的加減法很是頭疼,愛動腦筋的小金突發(fā)奇想,能不能用python程序來完成這些作業(yè)呢?請幫小金完成代碼編程.defconvert(s):m=0le=len(s)key=s[le-1]ifkey=="B":n=2elifkey=="D":_______else:n=16i=0whilei<=le-2:c=s[le-1-i]ifc>="0"andc<="9":a=ord(c)-ord("0")elifc>="A"andc<="F":a=ord(c)-ord("A")+10_____________i+=1returnms=input("請輸入算式")result=0;suanfu1="";suanfu2="";s1=""foriinrange(len(s)):c=s[i]ifc=="+"orc=="-"orc=="=":__________suanfu1=suanfu2suanfu2=cifsuanfu1=="":result=tifsuanfu1=="+":result=result+tifsuanfu1=="-":result=result-ts1=""else:s1=s1+cprint("計算結(jié)果為"+str(result)+"D")(1)將程序橫線處補充完整(2)如輸入“1110B+10D-30H=”則輸出結(jié)果為___________。29.某市普通高中選課數(shù)據(jù)如圖1所示,學生從地理、化學、生物等科目中選擇三門作為高考選考科目,“1”表示已選擇的選考科目。使用Python編程分析每所學校各科目選考的總?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=[‘物理’,‘化學’,‘生物’,‘政治’,‘歷史’,‘地理’,‘技術(shù)’]#按學校分組計數(shù)sc=df.groupby(‘___________’,as_index=False).count()#對分組計數(shù)結(jié)果進行合計,合計結(jié)果轉(zhuǎn)換為DF結(jié)構(gòu)并轉(zhuǎn)置為行df_sum=pd.DataFrame(data=sc.sum()).Tdf_sum[‘學校代碼’]=‘合計’#增加"合計"行result=sc.append(df_sum)#百分比計算df_percent=df_sumdf_percent[‘學校代碼’]=‘比例’forkinkm:per=df_percent.at[0,k]/zrsdf_percent[k]=per#增加"百分比"行result=result.append(df_percent)#刪除"姓名"列result=______________#修改"學生編號"為"總?cè)藬?shù)"result=result.rename(columns={‘學生編號’:‘總?cè)藬?shù)’})#保存結(jié)果,創(chuàng)建Excel文件.生成的Excel文件result.to_excel("學校人數(shù)統(tǒng)計.xlsx")(1)請在劃線處填入合適的代碼:(2)加框處語句的作用是__________________30.操作說明:打開文件“Y:/1/1.py”,將程序補充完整,不得增加,刪除語句、或改變程序原有結(jié)構(gòu),操作結(jié)束后保存。以下程序段的功能是:根據(jù)從鍵盤上輸入的表示星期幾的數(shù)字,若輸入的數(shù)字不是在范圍(1至7)輸出“輸入錯誤!”,否則輸出對應的英文星期的簡稱如“Mon、Tue、Wed、Thu、Fri、Sta、Sun”。n=int(input(“請輸入一個數(shù):”))list=[“Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sta”,”Sun”]if________:print(“輸入錯誤!”)else:print(________)【參考答案】***試卷處理標記,請不要刪除一、程序填空1.BCCCD【詳解】本題主要考查二分查找算法及Python程序?qū)崿F(xiàn)。①二分查找的循環(huán)條件是left<=right,故選B選項。②此處是取中間值,需要整除2,故填(left+right)//2
,故選C選項。③如果mid對應的列表值是1000,表示已找到,則用break跳出循環(huán),選C選項。④如果mid對應的列表值小于1000,則需要更新left的值為mid+1繼續(xù)循環(huán),選C選項。⑤否則更新right的值為mid-1,選D選項。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.字符串類型你及格了喔表現(xiàn)不錯程序結(jié)束不及格學習方法可能不對程序結(jié)束6080錯【詳解】本題主要考查Python編程。①input()函數(shù)接受一個標準輸入數(shù)據(jù),返回為string類型,因此此處為字符串類型;②輸入期末成績?yōu)?5時,滿足大于等于60及大于等于80條件,因此此處輸出為“你及格了喔表現(xiàn)不錯程序結(jié)束”;③輸入期末成績?yōu)?5時,滿足小于60及大于等于30,因此此處輸出為“不及格學習方法可能不對程序結(jié)束”;評價是“還可以再提升”項,屬于大于等于60且小于80范圍,因此④為60,⑤為80;elif后需添加判斷條件,因此⑥為錯?!军c睛】4.ifprintelse【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①secret是隨機生成的數(shù),sc是你猜的數(shù)字,此處是判斷cs與secret的大小,故填if。②如果cs大于secret,則輸出“唉,猜大啦”,故填print。③如果cs小于secret,輸出“嘿嘿,猜小了!”,故填else。5.s=s+kk=k+5print(s)【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。s=0,k=1,計算S=1+6+11+…+101,循環(huán)條件是k<=101,故循環(huán)體應為s=s+k,k=k+5,循環(huán)結(jié)束后,輸出計算結(jié)果,故print(s)。6.n/(2*n-1)或n/(n*2-1)i/(2*i-1)或i/(i*2-1)【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①分析數(shù)列可知,分子第n項是n,分母第n項是2*n-1,故該數(shù)列的通項公式f(n)=n/(2*n-1)或n/(n*2-1)。②此處是對前n項進行求和,變量是i,使用語句s=s+i/(2*i-1)或s=s+i/(i*2-1),故此處填i/(2*i-1)或i/(i*2-1)。7.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]8.【詳解】本題主要考查程序設計與實現(xiàn)??梢允褂肞ython程序?qū)崿F(xiàn)題干要求:9.n%i==0:i+=1ss(i)andss(n-i):8=3+5【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①函數(shù)ss(n)用來判斷n是否為質(zhì)數(shù),若是則返回True,否則返回False,此處是通過while循環(huán)逐個判斷n是不是能整除i,故填n%i==0:。②若不滿足if條件,則i遞增,繼續(xù)循環(huán)判斷,故填i+=1。③此處判斷i與n-i是否都是質(zhì)數(shù),若是,則表明該偶數(shù)可以寫成兩個質(zhì)數(shù)之和,并輸出,故填ss(i)andss(n-i):。④如果輸入“8”則結(jié)果顯示8=3+5。10.int(day[5:7])(year%4==0andyear%100!=0oryear%400==0)andmonth>=2tall_day+=1110【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①此處是取出字符串day中的月份賦給變量month,month是第5~第6位,str[start:end],start會包含在結(jié)果中而end卻不會,故此處填int(day[5:7])。②此處判斷是不是閏年,因為閏年的二月有29天,故if判斷還要判斷當前的月份是不是包含2月即大于等于2月,故此處填(year%4==0andyear%100!=0oryear%400==0)andmonth>=2。③如果是閏年且當前日期包括2月,則循環(huán)完tall_day需增加1天,故填tall_day+=1。④輸入“2020-4-19”為當年的第110天。11.c=0foriinrange(1,101):ifi%2==0:c=c+1print(c)【詳解】本題主要考查程序設計。題干要求可通過Python程序設計實現(xiàn),通過for循環(huán)以及if判斷條件可統(tǒng)計出100以內(nèi)的偶數(shù)個數(shù),具體代碼如下:c=0foriinrange(1,101):ifi%2==0:c=c+1print(c)12.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)【詳解】本題主要考查程序設計。題干要求可通過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)13.foriinrange(1,100):ifi>1:forjinrange(2,i):if(i%j)==0:breakelse:print(i)【詳解】本題主要考查Python程序設計??梢酝ㄟ^for循環(huán)找出100以內(nèi)的素數(shù),用i依次整數(shù)2~i-1,如果能整除表明i不是素數(shù),否則i為質(zhì)數(shù),具體代碼如下:foriinrange(1,100):ifi>1:forjinrange(2,i):if(i%j)==0:breakelse:print(i)14.yyshow()【詳解】本題主要考查Python程序繪制圖像。①繪制y=x2-2x+1的圖像,故此處填y。②根據(jù)橫縱坐標x和y繪制圖,故此處填y。③此處調(diào)用顯示函數(shù)show(),故填show()。15.CAB【詳解】本題主要考查隊列數(shù)據(jù)結(jié)構(gòu)及Python程序。①隊列是從隊頭出隊,隊尾入隊,使用pop函數(shù)出隊,隊頭的索引值是0,故此處填boy.pop(0),girl.pop(0)。②隊列入隊使用append方法追加到隊列尾,此處是男生入隊boy.append(x),故選A選項。③同理,此處是女生入隊girl.append(y),故選B選項。16.字符串字符串我的鏡像世界通行密碼是153轉(zhuǎn)換為字符串連接字符串【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①who='我的',可知變量who的數(shù)據(jù)類型字符串。②number='153',類似number的數(shù)據(jù)類型也為字符串。③print(who+destination+code+action+str(number)),是將變量字符串拼接后輸出,故print語句輸出的結(jié)果是我的鏡像世界通行密碼是153。④str(number)的作用是轉(zhuǎn)換為字符串。⑤“+”在程序中的作用是連接字符串。17.m%nrr=m%nngcd(a,b)【詳解】本題主要考查Python程序設計。①首先對m和n求余得到r,判斷r是否為0,故此處填m%n。②如果r為0則結(jié)束,否則更新m的值為n,n的值為r。③此處用更新后的m和n繼續(xù)求r,繼續(xù)判斷,故填r=m%n。④循環(huán)結(jié)束后當r=0時,n即為最大公約數(shù),故填n。⑤輸入a、b的值,使用函數(shù)gcd求a和b的最大公約數(shù),故填gcd(a,b)。18.list3[2]list1[1:4]list2=list2+list4或list2.extend(list4)list1=list1+[“塑料瓶”]或者list1.append(“塑料瓶”)【詳解】本題主要考查Python列表數(shù)據(jù)類型。①“過期食品”在列表list3索引2,故從列表list3中取出“過期食品”的表達式:list3[2]。②"舊書","金屬","紙板箱"在列表list1索引1~3,從list1中截取["舊書","金屬","紙板箱"]這一段的表達式:list1[1:4](不包括4)。③將該列表中的元素添加到list2中,表達式是list2=list2+list4或list2.extend(list4)。(extend()
函數(shù)用于在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表))。④將塑料瓶添加到列表list1中:list1=list1+[“塑料瓶”]或者list1.append(“塑料瓶”)(append字符追加函數(shù))。19.順序結(jié)構(gòu)pi=3.14r=float(input(“請輸入半徑r:”))整型和實數(shù)型不能直接運算,結(jié)果會有誤差h=float(input(“請輸入高h:”))【詳解】本題主要考查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:”))。20.初值為1終值為:20步長為:3sum=70【詳解】本題主要考查Python循環(huán)結(jié)構(gòu)。由代碼foriinrange(1,20,3),可知循環(huán)變量i的初值為1,終值為20,步長為3。該程序執(zhí)行后,輸出的結(jié)果為sum=sum+i=0+1+4+7+10+13+16+19=70。21.自然語言確保m>=nr!=0【詳解】本題主要考查算法及Python程序?qū)崿F(xiàn)。①描述一是自然語言描述法;描述二是流程圖描述法;描述三是計算機程序語言描述法。②在描述三中代碼4到6行,當m<n時,交換m、n的值,否則跳過,故作用是確保m>=n。③由題干可知,循環(huán)條件是余數(shù)r不等于0,故代碼第8行劃線處為r!=0。22.DTot1=(T-9)×0.2Tot2=8Tot2=8+(S-3.3)×1.35Cost=Totl+Tot2第一步:輸入實際里程S和實際時長T第四步:計算應支付費用Cost第五步:輸出應支付費用CostEA順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)零個一個略【詳解】本題主要考查算法及程序設計。①小C登錄滴滴出行官網(wǎng)搜索并下載“計價規(guī)則”,所采用的數(shù)字化工具:信息檢索工具,故選D選項。②如果時長超過9分鐘,則Tot1=(T-9)×0.2。③如果里程小于等于3.3公里則Tot2=8。④里程大于3.3公里,則Tot2=8+(S-3.3)×1.35。⑤應支付費用:Cost=Totl+Tot2。⑥第一步:輸入實際里程S和實際時長T。⑦第四步:計算應支付費用Cost。⑧第五步:輸出應支付費用Cost。⑨流程圖中,表示計算與賦值的是矩形框,即選項E。⑩表示算法流向的是箭頭,即選項A。算法描述中,用到了三種基本控制結(jié)構(gòu),分別是?順序結(jié)構(gòu)?選擇結(jié)構(gòu)?循環(huán)結(jié)構(gòu)。如圖示中的流程圖使用的控制結(jié)構(gòu)是?順序結(jié)構(gòu)?選擇結(jié)構(gòu)。?一個算法必須有零個或多個數(shù)據(jù)輸入。?有一個或多個數(shù)據(jù)輸出。?略23.①a(i)=Asc(tmp)-64或a(i)=Asc(tmp)-Asc("A")+1②i–m+1Toi–m+k③t=(c(i)–1)Mod26+1【詳解】本題考查乘法運算規(guī)則的理解以及轉(zhuǎn)置矩陣中行列數(shù)據(jù)的讀取。(1)根據(jù)算法描述,圖中(1)處的值為15×5+14×1+0×2+0×9=89。(2)程序先隨機生成數(shù)組b,其下標為1到k×k,并以行列的形式顯示在列表框list2中(即為轉(zhuǎn)置矩陣),然后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度健康體檢勞務合同解除標準指南
- 2025年度無人機技術(shù)研發(fā)與應用合作資源協(xié)議書
- 二零二五年度藝術(shù)衍生品市場正規(guī)藝術(shù)家合作協(xié)議
- 二零二五年度塔吊安裝與吊裝作業(yè)安全保障協(xié)議
- 二零二五年度特色商業(yè)街車位包銷及夜間經(jīng)濟合同
- 2025年度智慧城市安防系統(tǒng)服務合同
- 二零二五年度會議室租賃及茶歇服務協(xié)議
- 水暖消防工程承包合同
- 小學生感恩教育故事感悟
- 超市日常運營管理服務合同
- 四大名著導讀-課件-(共18張)
- 10.1溶液的酸堿性教學設計-2024-2025學年九年級化學人教版下冊
- 2024年房地產(chǎn)經(jīng)紀人《房地產(chǎn)經(jīng)紀專業(yè)基礎》考前沖刺必會試題庫300題(含詳解)
- 2024解析:第九章液體壓強-講核心(原卷版)
- 2024解析:第二十章電與磁-基礎練(解析版)
- 躲避球運動用球項目評價分析報告
- 2024年度委托創(chuàng)作合同:原創(chuàng)美術(shù)作品設計與委托制作3篇
- 建設工程招標代理合同(GF-2005-0215)(標準版)
- 膽結(jié)石并急性膽囊炎護理查房
- 公司新建電源及大用戶并網(wǎng)管理辦法
- 新材料在管道施工中的應用方案
評論
0/150
提交評論