【編程】NCT-Python編程一級-模擬卷4含答案程序填空閱讀填空程序試題_第1頁
【編程】NCT-Python編程一級-模擬卷4含答案程序填空閱讀填空程序試題_第2頁
【編程】NCT-Python編程一級-模擬卷4含答案程序填空閱讀填空程序試題_第3頁
【編程】NCT-Python編程一級-模擬卷4含答案程序填空閱讀填空程序試題_第4頁
【編程】NCT-Python編程一級-模擬卷4含答案程序填空閱讀填空程序試題_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

【編程】NCT-Python編程一級-模擬卷4(含答案程序填空閱讀填空程序試題一、程序填空1.地球繞太陽的運(yùn)行周期為365天5小時48分46秒(合365.24219天),即一回歸年。公歷的平年只有365天,比回歸年短約0.2422天,每四年累積約一天,把這一天加于2月末(即2月29日),使當(dāng)年的時間長度變?yōu)?66天,這一年就是閏年。判斷某一年是否是閏年的方法是年份數(shù)能被4整除,但不能被100整除,或者年份數(shù)能被400整除。以下是一段用于判斷某一年是否是閏年的程序。year=input「請輸入您要判斷的年份:”)year二int(year)> ①resiilt=(year%4==0② ③)④(year%400==0)ifresu1L:s二堤〃else:s=.不是"print(str((5))+"年"+s+"閏年")請將上面程序框中空格處的內(nèi)容填寫完整,其中①處填寫代碼注釋.程序補(bǔ)充:(1)有5萬元資金存入銀行,選擇“1年定期.自動轉(zhuǎn)存”的存款方式,由于銀行利率是不斷變化的,這5年利率分別是3.25%.3%.3%.2%.1.75%,5年后會有多少收益呢?調(diào)用round()函數(shù),保留結(jié)果兩位小數(shù)。money= rate= for print(“5年以后存款總額:",money,“元”)(2)某投資者購買了10萬元一年期收益率3.7%的銀行保證收益型理財產(chǎn)品。每年理財贖回后,他會提取2萬元用作生活所需,余下資金仍購買此種理財。在收益率不變的情況下,多少年后本金被全部取出?money= year= while print(year,“年后資金被全部取出”).閱讀程序。分析有關(guān)多項式的代碼并回答問題。求1!+2!+3!+……+20!的和。n=0s=0t=1

forninrange(1,21):t*=nforninrange(1,21):t*=ns+=tprint(s)range(1,21):>>>-"一’----------------------REST2561327494111820313>?Is+=tprint6n(1="")n的作用是s的作用是。t的初值必須賦值為1,這是因為。t*=n的等價語句是s+=t的等價語句是。4.完善程序。以下是猜數(shù)游戲的程序,請在畫線出填寫正確的內(nèi)容?!觥觥鯥?。?or1-a::UPI.Dticm.rda.-Hr、F;.--n- I.■"i..n:-■irI1;■■■:.■importrandomsecret=random.randint(0,10)print("---猜數(shù)游戲-----〃)cs=int(input("你猜的數(shù)字是"))whilecs!=secret:cs>secret:("唉,猜大啦!〃)print("嘿嘿,猜小了!〃)cs=int(input("重新猜一個靠譜的數(shù)字是:〃))print("游戲結(jié)束,不玩了!〃).完善程序。以下是計算S=1+6+11+…+101的程序代碼。請你在:1:處填寫正確的語句。1071?>1071?>Ik=lwhile(k<101)k=k+5s=s-l-kprint(s+1)s=0k=1while(k<=101)s=0k=1while(k<101):k=k+5s=s+kprint(s+1).調(diào)試程序。請閱讀以下程序并寫出運(yùn)行結(jié)果。FieEdrtFormalRunOptic=====#exl6.py pi=Cl Isuni=0whxlei<10:i%3==Cl:sum-+=iprintCi)i=i+lprint(sswn,ssum)#ex16.pyi=0sum=0whilei<10:ifi%3==0:sum+=iprint(i)i=i+1print('sum',sum).編寫程序,找到并輸出100以內(nèi)的素數(shù)。.以下是計算s=1+6+11+...+101的程序代碼,請補(bǔ)全程序。s=0foriinrange(1,102,):s=print(s)請補(bǔ)充完成上述程序①②.程序分析題學(xué)校舉行校園歌手大賽,評委由6人組成。評分方法:去掉一個最高分和一個最低分,計算其余4位評委的平均分,作為選手的最終得分。max記錄最高分;min記錄最低分;s記錄六位評委的總分;aver記錄最終得分。評— 四制S三二 附SA;["最終得分; 計算靄分第1步:從文本框中分別讀入6位評委的打分并依次存入到a(1)至a(6)中第2步:將第1位評委的打分a(1)分別賦給最高分max,最低分min和總分S第3步:利用循環(huán)結(jié)構(gòu)把另外5位評委的打分累加給s從而求出6位評委的總分s,同時把5位評委的打分與max和min進(jìn)行比較,得出6位評委中的最高分max和最低分min。第4步:從總分中s中去掉最高分max和最低分min,求出其他4位評委的平均分aver作為選手的最終得分。max=a[0]min=a[0]s=0foriinrange(6):s=s+a[i]ifa[i]>max:max=a[i]ifa[i]<min:min=a[i]aver=()/4(1)在引用tkinter模塊進(jìn)行界面設(shè)計的過程中,窗體中錄入評委打分的對象是由控件生成的。A.EntryB.LabelC.FrameD.Button⑵題目中算法描述采用的是A、自然語言B、偽代碼C、流程圖D、.N-S圖⑶下列程序代碼片段對應(yīng)于算法描述中的第2步至第4步。請?zhí)顚懫沃锌瞻滋幍谋磉_(dá)式填寫完整.(項目情境)在中國古代,出自數(shù)學(xué)家張丘建的《算經(jīng)》中這樣一個值得研究的問題:今有雞翁一,直錢五;雞母一,直錢三;雞雛三,直錢一。凡百錢,買雞百只。問雞翁、母、雛各幾何?這個問題就是著名的“百錢買百雞問題”。即:現(xiàn)有100文錢,公雞5文錢一只,母雞3文錢一只,小雞一文錢3只,要求:公雞,母雞,小雞都要有,把100文錢買100只雞,買的雞是整數(shù)。問公雞、母雞和小雞各幾何?(問題求解)設(shè)用變量g、m、x三個變量分別存放公雞、母雞和小雞的數(shù)量,請閱讀如下程序,在空白處填寫適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整。forginrange(1,20):formin:forxinrange(3,98,3):ifand==100:print("公雞:",g,"母雞:,m,"小雞:",x).約瑟夫問題是個有名的問題: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]).計算機(jī)解決問題的過程為“分析問題一一設(shè)計算法(流程圖)一一編寫程序一一調(diào)試程序”,項目小甑成員在某網(wǎng)購站點(diǎn)上獲取到如下信息二卷記本i的單價是3元,老記本2的單價是5元.如果兩種筆記本同時購買,價格可以打打折口計算一下,購買芯記本】和篤記本?各F1本,可以優(yōu)惠多少元?(以元為單位,四舍五人到小數(shù)點(diǎn)后兩位)請輸入以下代碼,自己輸入數(shù)據(jù)運(yùn)行,結(jié)果截圖提交.編寫程序,實現(xiàn)從鍵盤輸入數(shù)據(jù),數(shù)據(jù)前三位的ASCII值加2,從第四位開始ASCII值加3。.請在空格處填寫正確的代碼,使程序完善。實現(xiàn)功能:用輾轉(zhuǎn)相除法求解兩個正整數(shù)的最大公約數(shù)。x=int(input('請輸入第一個正整數(shù):'))y=int(input(請輸入第二個正整數(shù):'))m=max(x,y) #找出x,y中的最大值n=min(x,y) #找出x,y中的最小值r=m%n #求得最大值除以最小值后的余數(shù)whiler!=0: #如果余數(shù)不等0,則進(jìn)行以下循環(huán)m= #把最小值賦給mn= #把余數(shù)賦給nr=m%n #求得最大值除以最小值后的余數(shù)print('這兩個數(shù)的最大公約數(shù)為:',)input("運(yùn)行完畢,請按任意鍵退出....”).(最大公約數(shù))用輾轉(zhuǎn)相除法求兩個正整數(shù)的最大公約數(shù)。代碼如下:defgcd(m,n):r=whiler!=0:returna=int(input(‘請輸入a的值:’))b=int(input(‘請輸入b的值:’))print(‘最大公約數(shù)是:'_)填空:.一家商場在降價促銷,如果購買金額不高于200元,會給10%的折扣,如果購買金額高于200元,會給20%的折扣。編寫一個Python程序,輸入消費(fèi)額(整數(shù)),顯示折扣后的應(yīng)付金額。.小王編寫了“字符串縮寫”程序,實現(xiàn)如下功能:.輸入一串由英文字母和數(shù)字組成的字符串,.如果字符串有連續(xù)字符構(gòu)成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),則把升序段縮寫成由第一個字符加上“一”和最后一個字符組成的新字符段,3.例如:字符串為"abcdf12345becomexy”,則縮寫成“a-df1-5becomex-y”。程序運(yùn)行時,輸入一串字符,輸出縮寫的字符串,程序運(yùn)行效果如下圖所示:清輸入字符串s:abedfl2345beconiexy縮寫后的字符串為:a-dfl-5becomex-y?>請輸入字符串s:tibcl23dfpxycba縮寫后的字符串為:a-cl-3dfpx-yeba?>實現(xiàn)上述功能的程序如下,請在程序劃線處填入合適的代碼。s=input("請輸入字符串s:")flag=Falseresult=""foriinrange(0,k-1):if:result=result+s[i]+"-"flag=Trueeliford(s[i])!=ord(s[i+1])-1:result=result+s[i]result=result+s[i+1]print("縮寫后的字符串為:",result)劃線處①處應(yīng)該填入的語句為:;劃線處②處應(yīng)該填入的語句為:;劃線處③處應(yīng)該填入的語句為:。.完善程序?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("M5人的年齡:",age())input("運(yùn)行完畢,請按回車鍵退出...”).現(xiàn)在有一個程序用來解決以下問題:如果有總量共1020個西瓜,第一天賣掉總數(shù)的一半后多賣出了兩個,以后每天賣剩下的一半多兩個,那么幾天以后賣完呢?請將下列程序補(bǔ)充完整。tc=1020c=0while:tc=tc-(tc/2+2)print(c).現(xiàn)代生活半徑的擴(kuò)大和生活節(jié)奏加快使出行成本不斷增長。滴滴快車應(yīng)運(yùn)而生,其以靈活快速的響應(yīng)和經(jīng)濟(jì)實惠的價格為大眾提供更高效、更經(jīng)濟(jì)、更舒適的出行服務(wù),給人們生活帶來了美好的變化。小C是滴滴快車忠實的粉絲,經(jīng)常出行就提前預(yù)約,乘坐滴滴快車。小C就在思考這個滴滴快車是怎么計費(fèi)的?可否用所學(xué)的Python語言也編寫一個計費(fèi)程序。于是小C開展了有關(guān)這個項目活動的探究。根據(jù)實際情況,回答問題。(一)收集、分析數(shù)據(jù),運(yùn)用數(shù)理思維建模登錄滴滴出行官網(wǎng),得到了如下信息,即“滴滴快車(普通型)計價規(guī)則”:滴滴快車(普通型)計價規(guī)則時段起步價里程費(fèi)時長費(fèi)普通時段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元/分鐘注意:.起步價包含里程3.3公里,包含時長9分鐘,里程費(fèi)、時長費(fèi)合計不足基礎(chǔ)費(fèi)時,直接按照基礎(chǔ)費(fèi)計費(fèi)。.實時計價是基于訂單服務(wù)內(nèi)容(里程、時長、時段),按各種費(fèi)用項定價標(biāo)準(zhǔn)計算訂單價格的計價方式,實際費(fèi)用由兩部分里程費(fèi)與時長費(fèi)累加而得。小C同學(xué)19:33從“南內(nèi)環(huán)恒地大廈停車場一入口”到“塢城新紀(jì)元大酒店(長風(fēng)店)"乘坐滴滴快車(普通車型),里程4.1公里,時長約21分鐘,按照表中的計費(fèi)規(guī)則,小C同學(xué)此次出行應(yīng)該支付的車費(fèi)是:車費(fèi)=8+(4.1-3.3)X135+(21-9)X0.2=9.68。(1)小C登錄滴滴出行官網(wǎng)搜索并下載“計價規(guī)則”,所采用的數(shù)字化工具:A.數(shù)字化可視化表達(dá)工具B.信息加工工具C.三維設(shè)計工具D.信息檢索工具(2)假設(shè)Tot1表示時長費(fèi),Tot2表示里程費(fèi),S表示實際里程,T表示實際時長,Cost表示應(yīng)支付費(fèi)用。運(yùn)用數(shù)學(xué)解析式歸納出計費(fèi)公式為:如果時長超過9分鐘,則Tot1=。如果里程小于等于3.3公里則Tot2=,否則Tot2=。應(yīng)支付費(fèi)用:Cost=。(二)運(yùn)用算法描述方法將問題解決步驟化小C明晰了滴滴快車車費(fèi)的計算方法之后,設(shè)計求解滴滴快車普通時段車費(fèi)的算法,并用自然語言和流程圖的方式表述出來。(3)自然語言描述:第一步: 第二步:計算時長費(fèi)Totl第三步:計算里程費(fèi)Tot2第四步: 第五步: (4)流程圖描述:(如圖)流程圖中,表示計算與賦值的是,表示算法流向的是。

(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)試、運(yùn)行程序,驗證算法并解決問題.現(xiàn)今信息化時代,信息的傳輸十分迅速,足不出戶便知天下事。許多社交平臺都有設(shè)置本平臺的熱點(diǎn)排行榜,方便用戶了解正在發(fā)生的熱門事件。但社交平臺數(shù)量眾多,平臺用戶種類和數(shù)量也大不相同,導(dǎo)致不同平臺熱點(diǎn)的實際熱度大小也不同。小鐘為了確保自己知道的熱點(diǎn)是真正的熱點(diǎn),于是打算用功能強(qiáng)大的python把各個平臺的熱點(diǎn)排行榜進(jìn)行合并,形成自己的熱點(diǎn)排行榜。為了熱點(diǎn)之間比較方便,小鐘設(shè)置了一個熱度值來衡量一個熱點(diǎn)的熱度大小,熱度值越大說明這個熱點(diǎn)的熱度越高?,F(xiàn)在小鐘已經(jīng)獲得了如下兩個平臺的熱度值從小到大的排行榜,正當(dāng)他打算將之合并為一個從小到大的排行榜時,卻被老師叫走了。于是他決定把這個小功能交給他的好朋友一一你來實現(xiàn),你想到2種算法,請把下列程序填寫完整。AP10P9P8P7P6P5P4P3P2P11166116329438582652714756925BE10E9E8E7E6E5E4E3E2E135116215271309428576772806950Python程序如下: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]):i+=1else:myRank.append(B[j])j+=1while(i<len(A)):myRank.append(A[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(?):myRank[k]=A[i]i+=1else:myRank[k]=B[j]j+=1print(myRank).小金同學(xué)學(xué)完了進(jìn)制轉(zhuǎn)換后,對課后的不同進(jì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")+10i+=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-t

s1=""else:s1=s1+cprint("計算結(jié)果為"+str(result)+"D")(1)將程序橫線處補(bǔ)充完整(2)如輸入“11103+10口-30+”則輸出結(jié)果為。.某市普通高中選課數(shù)據(jù)如圖1所示,學(xué)生從地理、化學(xué)、生物等科目中選擇三門作為高考選考科目,“1”表示已選擇的選考科目。使用Python編程分析每所學(xué)校各科目選考的總?cè)藬?shù)、全市各科選考總?cè)藬?shù)及其占比,經(jīng)過程序處理后,保存結(jié)果如圖2F>山73XW-8事W*(F1『舊*KCO) I■即M學(xué)生媳號學(xué)校代碼.姓駕物理■化里生物政治歷史地理技術(shù)1201901000L201901.顧裕弟.1/1」2019010002.201901俞凱*11J201901000120190L陳丹猛1,1.皿12019010004.201901目隗用201卯1Q005E0190iqt^<LL1,“,2019010006,201WL$W?1JJr珈9010007al901,2019mg00201901張問洋.1,112019010009,201901潘丹J2019010010201901首湫典2019010011.20190L??SFm1r1fL2Ol$0lO0l2,201?18BftjtlJr1.L?r20l90l0013L20190Lj£^lLL1^.1圖12Q20190133738732790741OT312019024583223172401691"1心42201904118BC0778971437352151?532019055L7頌24923fi174171腳1796BCDEFGHIJ學(xué)校代?1總?cè)藬?shù)1匍81ft學(xué)1生制1政治1所史[也理1技術(shù)1::B1415IE17U1920111213141580201906201$0720190B201909201910201911201912201$1320191420191520191e201917合計比例10WO1MW0041091423W94*4713276565108a0493920+502619 33I9M0+3703440.4347050+H284421112215&133*J3型S49:J38.411,如537332,21J3;i2'3981F;圖2實現(xiàn)上述功能的Python程序如下:importpandasaspdimportitertools#讀數(shù)據(jù)到pandas的DataFrame結(jié)構(gòu)中df=("xk73.csv“,sep=‘.’,header=‘infer’,encoding=‘utf-8’)km=[‘物理’,‘化學(xué)’,‘生物’,‘政治’,‘歷史’,‘地理’,‘技術(shù)’]zrs=lcn(df.index)#按學(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)加框處語句的作用是24.閱讀程序。分析以下關(guān)于字符拼接與轉(zhuǎn)換的Python程序并回答問題。students=['小明','小紅','小剛']scores={'小明':95,'小紅':90,'小剛':90}print(len(students))print(len(scores))-Ie-tditl-ormatNurrUp-tions\rvmdowstudents=[‘小明"‘小紅,」小剛’]scores={,小明95,‘小紅‘二叫‘小剛’:9口}print(len(students))print(len(scores))students的數(shù)據(jù)類型是。scores的數(shù)據(jù)類型是。在scores中,每個字符與后面的數(shù)值共同構(gòu)成了一個len(students)的返回值是。print(len(scores))的輸出結(jié)果是。25.閱讀程序。分析以下Python程序并回答問題。who='我的'action='是'destination:鏡像世界'number='153'code='通行密碼’print(who+destination+code+action+str(number))jkm* r -- - ■a, ■■H■一;?■■?一..■■■■■■■IRieEditFormalRunOpliansWindowHelp |action'destmati(m=濤博.世畀,number=,35J'codiB='遨行聲碼’grint(who+destiriatian+eode+aeti?.+sti'(ruabes))? 3.5.5ShellfileEditShe{l*bugQptionsJflfindow%lpFvthon£&6(v3.6.GifSScDgSSM,Maz282DI&36:O7;41))onvin32Typewcapytight-j*cradits*or*license()*foradibi>? 二二二二二二二二二二二二二二二二二二二二二二RESTAR■最贏世界通行密皆是因(1)變量who的數(shù)據(jù)類型。(2)類似number的數(shù)據(jù)類型。print語句輸出的結(jié)果是。str(number)的作用是。(5)“+”在程序中的作用是。26.設(shè)計完成算法之后,小C打算用所學(xué)的Python程序設(shè)計語言完成程序的編寫。(1)Python程序設(shè)計語言屬于程序設(shè)計語言中的。A.機(jī)器語言B.匯編語言C.高級語言D.翻譯程序(2)小C將設(shè)計好的算法轉(zhuǎn)為Python程序語言(如下)。其中“Tot2=8”是一個,“#初始化時長費(fèi)為0”是一個,"S<=3.3”是一個, “float(input(“請輸入時長”))”是一個。A.函數(shù)B.表達(dá)式C.賦值語句D.注釋語句Tot1=0#初始化時長費(fèi)為0Tot2=0#初始化里程費(fèi)為0S=float(input(“請輸入里程數(shù)”))T=float(input(“請輸入時長”))#輸入里程數(shù)和時長if(T>9):#計算時長費(fèi)用Tot1=(T-9)*0.2if(S<=3.3):#算里程費(fèi)用Tot2-8else:Tot2=8+(S-3.3)*1.35Cost-Totl+tot2print(Cost)#輸出總車費(fèi)(3)小C寫好代碼之后,編譯運(yùn)行發(fā)現(xiàn)報錯了,根據(jù)下圖中所示的錯誤信息分析該程序報錯的原因是:NameError Traceback(mostrecentcalllast)<ipython-input-2-fc682f6f4658>in<modu1e>9else:10 >11Cost=Tot1+tot212NameError:name'tot2'isnotdefined(4)經(jīng)過修改之后,小C對照某次滴滴打車的訂單,將對應(yīng)的公里數(shù)和時長輸入程序,運(yùn)行得到的結(jié)果與實際支付的費(fèi)用一致,小C會心一笑驗證得知程序正確無誤。小C借助于計算機(jī)編寫程序解決問題的這個過程是:①設(shè)計算法②編寫程序③分析問題④調(diào)試運(yùn)行程序,合理的順序是。(填寫序號即可)(5)總結(jié)用計算機(jī)解決問題的優(yōu)勢主要有: O27.使用Python自身提供的IDLE集成開發(fā)環(huán)境錄入以下代碼及調(diào)試運(yùn)行,檢測結(jié)果。#雞兔同籠forxinrange(1,23):y=35-xif4*x+2*y==94:print("兔子有%s只,雞有%s只"%(x,y))特別提示:代碼錄入完畢,調(diào)試運(yùn)行,檢測錯誤,討論錯誤原因,上網(wǎng)查找錯誤格式的處置辦法,直至能正確輸出結(jié)果。.請編寫Python程序,實現(xiàn)如下功能需求:1)程序運(yùn)行后,給出文字提示:“請輸入一個正整數(shù):”2)輸入一個整數(shù)n按回車后,程序輸出從1-n所有整數(shù)中既是3的倍數(shù)又是5的倍數(shù)的數(shù)。3)不要超過5行代碼。程序運(yùn)行舉例:請檢入一個正整數(shù);180153日456075的.蒙特卡洛方法不僅可以用來模擬投針實驗,還可以用來模擬求解圓周率To請根據(jù)所學(xué)知識,并上網(wǎng)搜索有關(guān)資料,找到利用蒙特卡洛方法求解圓周率n的原理、方法和Python程序。.程序設(shè)計:鍵盤輸入任意的正整數(shù),程序輸出與其相應(yīng)的二進(jìn)制數(shù)。代碼如下:n=int(input("請輸入一個十進(jìn)制數(shù):"))result=[]whilen>0:result.append(①)n=②result.reverse()foriinresult:print(i,end=")(1)程序代碼中①處正確的代碼是()。A.n%2B.n/2C.n//2D.n*2(2)程序代碼中②處可能的代碼是()。A.n%2B.n/2C.n//2D.n*2【參考答案】***試卷處理標(biāo)記,請不要刪除一、程序填空.將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)換為字符型。.[0.0325,0.03,0.03,0.02,0.0175]iinrate:(沒有冒號算錯誤)money=round(money*(1+i),2) 1000000money>0或money>=0money=round(money*1.037-20000,2)year=year+1【詳解】本題主要考查Python程序語句。①此處是變量money的初始化,有5萬元資金存入銀行,故填50000。②5年利率分別是3.25%、3%、3%、2%、1.75%,用rate數(shù)組保存,故填[0.0325,0.03,0.03,0.02,0.0175]。③通過for循環(huán),從rate數(shù)組中取值,故填iinrate:(沒有冒號算錯誤)。④調(diào)用round()函數(shù),保留結(jié)果兩位小數(shù),故填money=round(money*(1+i),2)。⑤購買了10萬元一年期收益率3.7%的銀行保證收益型理財產(chǎn)品,故money的初始值為100000,故填100000。⑥year的初始值也為0,故填0。⑦循環(huán)條件是money大于0或大于等于0,故填money>0或money>=0。⑧收益率3.7%,每年理財贖回后,會提取2萬元用作生活所需,余下資金仍購買此種理財,使用round函數(shù)保留2位小數(shù),故填money=round(money*1.037-20000,2)。⑨循環(huán)變量是year,此處year遞增進(jìn)入下一輪循環(huán),故填year=year+1。.計算每一項的階乘記錄階乘相加后的和t記錄的是每一項階乘的結(jié)果,t*=n即t=t*n,t初值為1,能計算出每項的階乘結(jié)果,若為0,則每項的階乘結(jié)果都是0,不符合題意。t=t*ns=s+t【詳解】本題考查的是python語言編程。本題考查的是1-20階乘的求和。本題的重點(diǎn)是要先計算出對應(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)。.ifprintelse【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①secret是隨機(jī)生成的數(shù),sc是你猜的數(shù)字,此處是判斷cs與secret的大小,故填if。②如果cs大于secret,則輸出“唉,猜大啦〃,故填printo③如果cs小于secret,輸出“嘿嘿,猜小了!〃,故填else。.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)體應(yīng)為s=s+k,k=k+5,循環(huán)結(jié)束后,輸出計算結(jié)果,故print(s)。6.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(diǎn)睛】.參考答案1:foriinrange(2,101):j=2whilej<=i:ifi%j==0:breakj+=1ifj<i:continueelse:print(i,end="")參考答:2:foriinrange(2,101):

forjinrange(2,i):if(i%j==0):

breakelse:print(i)【詳解】本題考查是Python語言編程解決問題。break語句可以立即終止當(dāng)前循環(huán)的執(zhí)行,跳出當(dāng)前所在的循環(huán)結(jié)構(gòu)。無論是while循環(huán)還是for循環(huán),只要執(zhí)行break語句,就會直接結(jié)束當(dāng)前正在執(zhí)行的循環(huán)體。這就好比在操場上跑步,原計劃跑10圈,可是當(dāng)跑到第2圈的時候,突然想起有急事要辦,于是果斷停止跑步并離開操場,這就相當(dāng)于使用了break語句提前終止了循環(huán)。答案中代碼的實現(xiàn)過程見下圖:打|巳tanronnairwnuffori打|巳tanronnairwnufforiinranse(2jLOI):j=£urhilei<=i:ifbreakj十二1ifj<i:cantinaeelse;print(i?end=""Python3.6.b:節(jié)3?6.5;f59匚0932皿』lai282018,16;U7;45:I[NECv.190032bit1J]cnWin32Type''copyright%'-'ct:eillts,vorrLicense0''forJioreinformation.========EESTART:E:/羅海燕上浮/A羅海燕高中,27.py二二二=二:235711131719232S513T414347535901677L1379S33997:::I參考答案2:接1.py-C:/U£ers/dell/De5ktop/l.py(3.8-5) — □XFileEditFormatRunOptionsWindowHelpforiinrange1D1): (forjinrange11: 隰Fython3.B.5ShellFileEd11ShellDebugFileEd11ShellDebugOptionsWindowHelpF/'.hoti?. 5v:?.5:5:;j£LLC,~A2Z2020,17:c7:Dr4二■,:■!wir;二T?l:cJaolzJ. I'orcor?1iccnso1:,JZ':rnor: I,: /2357111122235711112233444556677788gvz13793917L3739L7L393_y7>.s+i【詳解】本題主要考查Python循環(huán)結(jié)構(gòu)。題目要求計算1、6、11..101等差數(shù)列之和,其中公差為5,因此①為5;s變量用于記錄等差數(shù)列之和,需進(jìn)行累加計算,因此②為s+i?!军c(diǎn)睛】.AAs-max-min【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①在引用tkinter模塊進(jìn)行界面設(shè)計的過程中,窗體中錄入評委打分的對象是由Entry控件生成的(Entry是Tkinter用來接收字符串等輸入的控件,該控件允許用戶輸入一行文字),故選A選項。②題目中算法描述采用的是偽代碼,故選A選項。③從總分中s中去掉最高分max和最低分min,求出其他4位評委的平均分aver作為選手的最終得分,故此處填s-max-min。.range(1,33)g+m+x==1005*g+3*m+xR【詳解】本題考查的是算法中的經(jīng)典問題。百雞百錢問題是典型的枚舉算法解決,枚舉算法的關(guān)鍵就是找到問題解決的條件和枚舉范圍。21.py-C7UsErs/dell/Desktop/l.py(3.8.5,^FileEditFormatRunOpLionsWindowHelpforsinFangaLI,工:forinInrc.133);forminran5c'3,CS,:E+m+叉==[Hl: h#E+:V*F+::J-:==l竹:):print("公雞:"「母君:",叫"小雪:工笈)aPython3.8.5ShellFileEditShellDebuqOptionsWindowHelp— ,J IJul202020,15:57:54)Jul202020,15:57:54)[N口二‘nr”Ii-1色nsa0"tiivmrrp1n:zU:3crc/dell/[icnkt3p/l.py [E心]onvrin32'Iypp11A.fl", ")】「中了1口?十”.”「丫4/1t三>?—RESm/J.T:C:鳥鳥鳥

『,■,,.,|「.?.鳥鳥鳥

『,■,,.,|「.?.「工二

444>?4母雞:8母雞:12母雞?、雞:81、爆8411.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)條件是10ng>1,變量long控制元素個數(shù),故填10ng>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]

金4-l.py-C;/Users/huargcaixia/Desktop/4-lrpy⑶7,0)FileEditFormatRunOptronsWindowHtlp|Xint(inputs輸入購買靛加本1和顰記:$7密本塞為1))a=3*nb=5*ny=(a+b)*(1-0.8)priM廠購買筆記本1和顰記本2的數(shù)量為",小"*print("可節(jié)省的壬商為“*“元”)12.12.Python3.7.0FileEditShdlDebugOptionsWindowHelpPython-X7.0(v3.77Q:IbfSccbOSiJun272016^04:扇:5l)[MSC\4)]onWin32Type*copyright","credits"or-license()"formoreinformatic?>================RESTART:C:/Users/huangcaixia/Desktop/4-i.py輸入購買的里記本1和望記本2的本數(shù)為:30購買筆記本】和筆記本2的敷里為3。本司節(jié)譽(yù)的全額為46.00元?>1【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。運(yùn)行結(jié)果如下:金4-l,py-C:/Users/huangtaixia/Drsktop/4-l.py(5.7.0)fileEditFormatRunOptions:WindowHelp2立廣鎘我購i買的第記本i和和記權(quán)的本數(shù)為:“行一a=34nb=5*ny=(a+b)*(1-0.8)pnntC1的展第i己本1和呈記本2的數(shù)重為m*本print,可節(jié)雀的金雀為"J*衽飛*一元”)修Python5.7.0Shellfile£ditShellRvbugQption?windowIJelpPython3.7.6忤3.T.dlbf9cc5Q9彳丁un272018,04:59:51)[MXv4)]onwin把Type.copyright", or-licsnss()"foraoe?informrtic>?===============RESTARTtC:/Users/hu3iiEC3iMia/DeEkiop/4-l.py輸入購關(guān)的筆記本l和笠記本2的本數(shù)為"0購買筆記本1相筆記本2的數(shù)量為3n本可節(jié)省的金額為4fi.0C元>?I.s=input(”請輸入要轉(zhuǎn)換的字符)c=len(s)#len求字符串長度foriinrange(0,c):ifi<2:print(chr(ord(s[i])+2))#ordord()函數(shù)是chr()函數(shù)配對函數(shù),將字符轉(zhuǎn)ASCII值else:print(chr(ord(s[i])+3))【詳解】本題主要考查程序設(shè)計。題干要求可通過Python程序條件分支結(jié)構(gòu)實現(xiàn),具體代碼如下:s=input(”請輸入要轉(zhuǎn)換的字符)c=len(s)#len求字符串長度foriinrange(0,c):ifi<2:print(chr(ord(s[i])+2))#ordord()函數(shù)是chr()函數(shù)配對函數(shù),將字符轉(zhuǎn)ASCII值else:print(chr(ord(s[i])+3)).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。.m%nrr=m%nngcd(a,b)【詳解】本題主要考查Python程序設(shè)計。①首先對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é)束后當(dāng)r=0時,n即為最大公約數(shù),故填n。⑤輸入@、b的值,使用函數(shù)gcd求a和b的最大公約數(shù),故填gcd(a,b)。.price=int(input("請輸入消費(fèi)額(整數(shù)):"))ifprice<200:price=price-price*0.1else:price=price-price*0.2print("折扣后的應(yīng)付金額是:",price)【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。用鍵盤通過輸入函數(shù)input輸入消費(fèi)額,并用int函數(shù)將其轉(zhuǎn)換為整數(shù)類型,通過if條件分支結(jié)構(gòu),判斷如果購買金額不高于200元,會給10%的折扣,如果購買金額高于200元,會給20%的折扣,最后用print輸出函數(shù)輸出折扣后的應(yīng)付金額。.k=len(s)ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+11)andflag==False或ord(s[i])+1==ord(s[i+1])andnotflagflag=False【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①第一空將輸入的字符串s的長度賦給變量k,故填k=len(s)。②flag用來標(biāo)記是否有連續(xù)字符構(gòu)成的升序段,第二空判斷相鄰位置后面字符的ASCII值是否比前面的字符的ASCII值大1且flag為False,故填ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+1])andflag==False或ord(s[i])+1==ord(s[i+11)andnotflag。③如果不滿足if判斷條件,則需要將該字符加到變量result中,同時賦值flag為False,表示當(dāng)前沒有連續(xù)字符構(gòu)成的升序段,需要繼續(xù)判斷尋找,故填flag=False。.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。.tc>0c=c+1或者c+=1【詳解】本題主要考查Python程序執(zhí)行與調(diào)試。①變量tc保存西瓜數(shù)量,當(dāng)tc大于0時,一直循環(huán),故第一空填tc>0。②變量c保存天數(shù),每循環(huán)一次,變量c遞增1,故第二空填c=c+1或者c+=1。20.DTot1=(T-9)X0.2Tot2=8Tot2=8+(S-3.3)X1.35Cost=Totl+Tot2第一步:輸入實際里程S和實際時長T第四步:計算應(yīng)支付費(fèi)用Cost第五步:輸出應(yīng)支付費(fèi)用CostEA順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)零個一個略【詳解】本題主要考查算法及程序設(shè)計。①小C登錄滴滴出行官網(wǎng)搜索并下載“計價規(guī)則〃,所采用的數(shù)字化工具:信息檢索工具,故選D選項。②如果時長超過9分鐘,則Tot1=(T-9)x0.2。③如果里程小于等于3.3公里則Tot2=8。④里程大于3.3公里,則Tot2=8+(S-3.3)X1.35。⑤應(yīng)支付費(fèi)用:Cost=Totl+TotZ⑥第一步:輸入實際里程S和實際時長T。⑦第四步:計算應(yīng)支付費(fèi)用Cost。⑧第五步:輸出應(yīng)支付費(fèi)用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ù)輸出。?略21.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(diǎn)睛】22.n=10m=m+(n**(le-2-i))*at=convert(s1)-24D【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①二進(jìn)制的權(quán)值是2,十進(jìn)制的權(quán)值是10,十六進(jìn)制的權(quán)值是16,此處是十進(jìn)制的情況,故填n=10。②二進(jìn)制、十六進(jìn)制轉(zhuǎn)化為十進(jìn)制的方法是“按權(quán)展開、逐項相加”,從右往左加,變量i的初值等于0,故此處要變換為le-2-i,故此處填m=m+(n**(le-2-i))*a。③當(dāng)字符c是“+”、"-”、“=”時,則表明第一個運(yùn)算數(shù)已全部保存到變量s1中,此處需要將其轉(zhuǎn)化為十進(jìn)制保存到變量t中,故填t=convert(s1)。④1110B轉(zhuǎn)化為十進(jìn)制數(shù)是14D,30H轉(zhuǎn)化為十進(jìn)制數(shù)是48D,故1110B+10D-30H=-24D。.pd.read_csv學(xué)校代碼result.drop(,姓名’,axis=l)將總?cè)藬?shù)存儲到變量zrs中【詳解】本題主要考查Python程序的執(zhí)行與調(diào)試。①將csv文件讀入并轉(zhuǎn)化為數(shù)據(jù)框形式,故填pd.read_csv。②groupby函數(shù)主要的作用是進(jìn)行數(shù)據(jù)的分組,此處按學(xué)校分組計數(shù),故填學(xué)校代碼。③此處刪除“姓名”歹U,可以使用drop()函數(shù)來刪除,故填result.drop(‘姓名’,axis=l)。④zrs=len(df.index),該語句是統(tǒng)計df內(nèi)有多少個元素,即將總?cè)藬?shù)存儲到變量zrs中。.列表字典鍵值對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}該字

溫馨提示

  • 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

提交評論