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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

【編程】NCT-Python編程一級-模擬卷4(含答案程序填空閱讀填空程序試題一、程序填空1.地球繞太陽的運行周期為365天5小時48分46秒(合365.24219天),即一回歸年。公歷的平年只有365天,比回歸年短約0.2422天,每四年累積約一天,把這一天加于2月末(即2月29日),使當年的時間長度變為366天,這一年就是閏年。判斷某一年是否是閏年的方法是年份數能被4整除,但不能被100整除,或者年份數能被400整除。以下是一段用于判斷某一年是否是閏年的程序。year=input「請輸入您要判斷的年份:”)year二int(year)> ①resiilt=(year%4==0② ③)④(year%400==0)ifresu1L:s二堤〃else:s=.不是"print(str((5))+"年"+s+"閏年")請將上面程序框中空格處的內容填寫完整,其中①處填寫代碼注釋.程序補充:(1)有5萬元資金存入銀行,選擇“1年定期.自動轉存”的存款方式,由于銀行利率是不斷變化的,這5年利率分別是3.25%.3%.3%.2%.1.75%,5年后會有多少收益呢?調用round()函數,保留結果兩位小數。money= rate= for print(“5年以后存款總額:",money,“元”)(2)某投資者購買了10萬元一年期收益率3.7%的銀行保證收益型理財產品。每年理財贖回后,他會提取2萬元用作生活所需,余下資金仍購買此種理財。在收益率不變的情況下,多少年后本金被全部取出?money= year= while print(year,“年后資金被全部取出”).閱讀程序。分析有關多項式的代碼并回答問題。求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.完善程序。以下是猜數游戲的程序,請在畫線出填寫正確的內容。■■■I小:-or1-a::UPI.Dticm.rda.-Hr、F;.--n- I.■"i..n:-■irI1;■■■:.■importrandomsecret=random.randint(0,10)print("---猜數游戲-----〃)cs=int(input("你猜的數字是"))whilecs!=secret:cs>secret:("唉,猜大啦!〃)print("嘿嘿,猜小了!〃)cs=int(input("重新猜一個靠譜的數字是:〃))print("游戲結束,不玩了!〃).完善程序。以下是計算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).調試程序。請閱讀以下程序并寫出運行結果。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以內的素數。.以下是計算s=1+6+11+...+101的程序代碼,請補全程序。s=0foriinrange(1,102,):s=print(s)請補充完成上述程序①②.程序分析題學校舉行校園歌手大賽,評委由6人組成。評分方法:去掉一個最高分和一個最低分,計算其余4位評委的平均分,作為選手的最終得分。max記錄最高分;min記錄最低分;s記錄六位評委的總分;aver記錄最終得分。評— 四制S三二 附SA;["最終得分; 計算靄分第1步:從文本框中分別讀入6位評委的打分并依次存入到a(1)至a(6)中第2步:將第1位評委的打分a(1)分別賦給最高分max,最低分min和總分S第3步:利用循環結構把另外5位評委的打分累加給s從而求出6位評委的總分s,同時把5位評委的打分與max和min進行比較,得出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模塊進行界面設計的過程中,窗體中錄入評委打分的對象是由控件生成的。A.EntryB.LabelC.FrameD.Button⑵題目中算法描述采用的是A、自然語言B、偽代碼C、流程圖D、.N-S圖⑶下列程序代碼片段對應于算法描述中的第2步至第4步。請填寫片段中空白處的表達式填寫完整.(項目情境)在中國古代,出自數學家張丘建的《算經》中這樣一個值得研究的問題:今有雞翁一,直錢五;雞母一,直錢三;雞雛三,直錢一。凡百錢,買雞百只。問雞翁、母、雛各幾何?這個問題就是著名的“百錢買百雞問題”。即:現有100文錢,公雞5文錢一只,母雞3文錢一只,小雞一文錢3只,要求:公雞,母雞,小雞都要有,把100文錢買100只雞,買的雞是整數。問公雞、母雞和小雞各幾何?(問題求解)設用變量g、m、x三個變量分別存放公雞、母雞和小雞的數量,請閱讀如下程序,在空白處填寫適當的表達式或語句,使程序完整。forginrange(1,20):formin:forxinrange(3,98,3):ifand==100:print("公雞:",g,"母雞:,m,"小雞:",x).約瑟夫問題是個有名的問題:N個人圍成一圈,順序為0,1,2,3,4,5,從0號這個人開始報數,報到2的將被殺掉,接下去重新開始報數,報到3的將被殺掉...以此類推,最后剩下一個,其余人都將被殺掉。例如N=6,被殺掉的順序是:1,4,3,0,5;最后只剩下2這個人。llist=n=int(input(“請輸入參與人數:”))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]).計算機解決問題的過程為“分析問題一一設計算法(流程圖)一一編寫程序一一調試程序”,項目小甑成員在某網購站點上獲取到如下信息二卷記本i的單價是3元,老記本2的單價是5元.如果兩種筆記本同時購買,價格可以打打折口計算一下,購買芯記本】和篤記本?各F1本,可以優惠多少元?(以元為單位,四舍五人到小數點后兩位)請輸入以下代碼,自己輸入數據運行,結果截圖提交.編寫程序,實現從鍵盤輸入數據,數據前三位的ASCII值加2,從第四位開始ASCII值加3。.請在空格處填寫正確的代碼,使程序完善。實現功能:用輾轉相除法求解兩個正整數的最大公約數。x=int(input('請輸入第一個正整數:'))y=int(input(請輸入第二個正整數:'))m=max(x,y) #找出x,y中的最大值n=min(x,y) #找出x,y中的最小值r=m%n #求得最大值除以最小值后的余數whiler!=0: #如果余數不等0,則進行以下循環m= #把最小值賦給mn= #把余數賦給nr=m%n #求得最大值除以最小值后的余數print('這兩個數的最大公約數為:',)input("運行完畢,請按任意鍵退出....”).(最大公約數)用輾轉相除法求兩個正整數的最大公約數。代碼如下:defgcd(m,n):r=whiler!=0:returna=int(input(‘請輸入a的值:’))b=int(input(‘請輸入b的值:’))print(‘最大公約數是:'_)填空:.一家商場在降價促銷,如果購買金額不高于200元,會給10%的折扣,如果購買金額高于200元,會給20%的折扣。編寫一個Python程序,輸入消費額(整數),顯示折扣后的應付金額。.小王編寫了“字符串縮寫”程序,實現如下功能:.輸入一串由英文字母和數字組成的字符串,.如果字符串有連續字符構成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),則把升序段縮寫成由第一個字符加上“一”和最后一個字符組成的新字符段,3.例如:字符串為"abcdf12345becomexy”,則縮寫成“a-df1-5becomex-y”。程序運行時,輸入一串字符,輸出縮寫的字符串,程序運行效果如下圖所示:清輸入字符串s:abedfl2345beconiexy縮寫后的字符串為:a-dfl-5becomex-y?>請輸入字符串s:tibcl23dfpxycba縮寫后的字符串為:a-cl-3dfpx-yeba?>實現上述功能的程序如下,請在程序劃線處填入合適的代碼。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)劃線處①處應該填入的語句為:;劃線處②處應該填入的語句為:;劃線處③處應該填入的語句為:。.完善程序實現如下功能并保存:有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("運行完畢,請按回車鍵退出...”).現在有一個程序用來解決以下問題:如果有總量共1020個西瓜,第一天賣掉總數的一半后多賣出了兩個,以后每天賣剩下的一半多兩個,那么幾天以后賣完呢?請將下列程序補充完整。tc=1020c=0while:tc=tc-(tc/2+2)print(c).現代生活半徑的擴大和生活節奏加快使出行成本不斷增長。滴滴快車應運而生,其以靈活快速的響應和經濟實惠的價格為大眾提供更高效、更經濟、更舒適的出行服務,給人們生活帶來了美好的變化。小C是滴滴快車忠實的粉絲,經常出行就提前預約,乘坐滴滴快車。小C就在思考這個滴滴快車是怎么計費的?可否用所學的Python語言也編寫一個計費程序。于是小C開展了有關這個項目活動的探究。根據實際情況,回答問題。(一)收集、分析數據,運用數理思維建模登錄滴滴出行官網,得到了如下信息,即“滴滴快車(普通型)計價規則”:滴滴快車(普通型)計價規則時段起步價里程費時長費普通時段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分鐘,里程費、時長費合計不足基礎費時,直接按照基礎費計費。.實時計價是基于訂單服務內容(里程、時長、時段),按各種費用項定價標準計算訂單價格的計價方式,實際費用由兩部分里程費與時長費累加而得。小C同學19:33從“南內環恒地大廈停車場一入口”到“塢城新紀元大酒店(長風店)"乘坐滴滴快車(普通車型),里程4.1公里,時長約21分鐘,按照表中的計費規則,小C同學此次出行應該支付的車費是:車費=8+(4.1-3.3)X135+(21-9)X0.2=9.68。(1)小C登錄滴滴出行官網搜索并下載“計價規則”,所采用的數字化工具:A.數字化可視化表達工具B.信息加工工具C.三維設計工具D.信息檢索工具(2)假設Tot1表示時長費,Tot2表示里程費,S表示實際里程,T表示實際時長,Cost表示應支付費用。運用數學解析式歸納出計費公式為:如果時長超過9分鐘,則Tot1=。如果里程小于等于3.3公里則Tot2=,否則Tot2=。應支付費用:Cost=。(二)運用算法描述方法將問題解決步驟化小C明晰了滴滴快車車費的計算方法之后,設計求解滴滴快車普通時段車費的算法,并用自然語言和流程圖的方式表述出來。(3)自然語言描述:第一步: 第二步:計算時長費Totl第三步:計算里程費Tot2第四步: 第五步: (4)流程圖描述:(如圖)流程圖中,表示計算與賦值的是,表示算法流向的是。

(5)算法描述中,用到了三種基本控制結構,分別是、和。如圖示中的流程圖使用的控制結構是和。(選填:順序結構、選擇結構、循環結構、樹型結構)(6)一個算法必須有或多個數據輸入。有或多個數據輸出。(選填:零個/一個)(三)編寫、調試、運行程序,驗證算法并解決問題.現今信息化時代,信息的傳輸十分迅速,足不出戶便知天下事。許多社交平臺都有設置本平臺的熱點排行榜,方便用戶了解正在發生的熱門事件。但社交平臺數量眾多,平臺用戶種類和數量也大不相同,導致不同平臺熱點的實際熱度大小也不同。小鐘為了確保自己知道的熱點是真正的熱點,于是打算用功能強大的python把各個平臺的熱點排行榜進行合并,形成自己的熱點排行榜。為了熱點之間比較方便,小鐘設置了一個熱度值來衡量一個熱點的熱度大小,熱度值越大說明這個熱點的熱度越高。現在小鐘已經獲得了如下兩個平臺的熱度值從小到大的排行榜,正當他打算將之合并為一個從小到大的排行榜時,卻被老師叫走了。于是他決定把這個小功能交給他的好朋友一一你來實現,你想到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).小金同學學完了進制轉換后,對課后的不同進制的加減法很是頭疼,愛動腦筋的小金突發奇想,能不能用python程序來完成這些作業呢?請幫小金完成代碼編程.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("計算結果為"+str(result)+"D")(1)將程序橫線處補充完整(2)如輸入“11103+10口-30+”則輸出結果為。.某市普通高中選課數據如圖1所示,學生從地理、化學、生物等科目中選擇三門作為高考選考科目,“1”表示已選擇的選考科目。使用Python編程分析每所學校各科目選考的總人數、全市各科選考總人數及其占比,經過程序處理后,保存結果如圖2F>山73XW-8事W*(F1『舊*KCO) I■即M學生媳號學校代碼.姓駕物理■化里生物政治歷史地理技術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學校代?1總人數1匍81ft學1生制1政治1所史[也理1技術1::B1415IE17U1920111213141580201906201$0720190B201909201910201911201912201$1320191420191520191e201917合計比例10WO1MW0041091423W94*4713276565108a0493920+502619 33I9M0+3703440.4347050+H284421112215&133*J3型S49:J38.411,如537332,21J3;i2'3981F;圖2實現上述功能的Python程序如下:importpandasaspdimportitertools#讀數據到pandas的DataFrame結構中df=("xk73.csv“,sep=‘.’,header=‘infer’,encoding=‘utf-8’)km=[‘物理’,‘化學’,‘生物’,‘政治’,‘歷史’,‘地理’,‘技術’]zrs=lcn(df.index)#按學校分組計數sc=df.groupby(‘′,as_index=False).count()對分組計數結果進行合計,合計結果轉換為DF結構并轉置為行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= 修改“學生編號“為“總人數”result=result.rename(columns={'學生編號":‘總人數"})保存結果,創建Excel文件.生成的Excel文件result.to_excel("學校人數統計.xlsx")(1)請在劃線處填入合適的代碼:(2)加框處語句的作用是24.閱讀程序。分析以下關于字符拼接與轉換的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的數據類型是。scores的數據類型是。在scores中,每個字符與后面的數值共同構成了一個len(students)的返回值是。print(len(scores))的輸出結果是。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的數據類型。(2)類似number的數據類型。print語句輸出的結果是。str(number)的作用是。(5)“+”在程序中的作用是。26.設計完成算法之后,小C打算用所學的Python程序設計語言完成程序的編寫。(1)Python程序設計語言屬于程序設計語言中的。A.機器語言B.匯編語言C.高級語言D.翻譯程序(2)小C將設計好的算法轉為Python程序語言(如下)。其中“Tot2=8”是一個,“#初始化時長費為0”是一個,"S<=3.3”是一個, “float(input(“請輸入時長”))”是一個。A.函數B.表達式C.賦值語句D.注釋語句Tot1=0#初始化時長費為0Tot2=0#初始化里程費為0S=float(input(“請輸入里程數”))T=float(input(“請輸入時長”))#輸入里程數和時長if(T>9):#計算時長費用Tot1=(T-9)*0.2if(S<=3.3):#算里程費用Tot2-8else:Tot2=8+(S-3.3)*1.35Cost-Totl+tot2print(Cost)#輸出總車費(3)小C寫好代碼之后,編譯運行發現報錯了,根據下圖中所示的錯誤信息分析該程序報錯的原因是:NameError Traceback(mostrecentcalllast)<ipython-input-2-fc682f6f4658>in<modu1e>9else:10 >11Cost=Tot1+tot212NameError:name'tot2'isnotdefined(4)經過修改之后,小C對照某次滴滴打車的訂單,將對應的公里數和時長輸入程序,運行得到的結果與實際支付的費用一致,小C會心一笑驗證得知程序正確無誤。小C借助于計算機編寫程序解決問題的這個過程是:①設計算法②編寫程序③分析問題④調試運行程序,合理的順序是。(填寫序號即可)(5)總結用計算機解決問題的優勢主要有: O27.使用Python自身提供的IDLE集成開發環境錄入以下代碼及調試運行,檢測結果。#雞兔同籠forxinrange(1,23):y=35-xif4*x+2*y==94:print("兔子有%s只,雞有%s只"%(x,y))特別提示:代碼錄入完畢,調試運行,檢測錯誤,討論錯誤原因,上網查找錯誤格式的處置辦法,直至能正確輸出結果。.請編寫Python程序,實現如下功能需求:1)程序運行后,給出文字提示:“請輸入一個正整數:”2)輸入一個整數n按回車后,程序輸出從1-n所有整數中既是3的倍數又是5的倍數的數。3)不要超過5行代碼。程序運行舉例:請檢入一個正整數;180153日456075的.蒙特卡洛方法不僅可以用來模擬投針實驗,還可以用來模擬求解圓周率To請根據所學知識,并上網搜索有關資料,找到利用蒙特卡洛方法求解圓周率n的原理、方法和Python程序。.程序設計:鍵盤輸入任意的正整數,程序輸出與其相應的二進制數。代碼如下:n=int(input("請輸入一個十進制數:"))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【參考答案】***試卷處理標記,請不要刪除一、程序填空.將year轉換為整型數據,并賦值給yearAndyear%100!=0oryear【詳解】本題主要考查Python程序設計。①input接收的數據類型是字符串型,該語句表示將year轉換為整型數據,并賦值給year。判斷某一年是否是閏年的方法是年份數能被4整除,但不能被100整除,或者年份數能被400整除,故第二、三、四空分別填②And③year%100!=0④or⑤最后輸出打印某一年是否是閏年,需要將year轉換為字符型。.[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數組保存,故填[0.0325,0.03,0.03,0.02,0.0175]。③通過for循環,從rate數組中取值,故填iinrate:(沒有冒號算錯誤)。④調用round()函數,保留結果兩位小數,故填money=round(money*(1+i),2)。⑤購買了10萬元一年期收益率3.7%的銀行保證收益型理財產品,故money的初始值為100000,故填100000。⑥year的初始值也為0,故填0。⑦循環條件是money大于0或大于等于0,故填money>0或money>=0。⑧收益率3.7%,每年理財贖回后,會提取2萬元用作生活所需,余下資金仍購買此種理財,使用round函數保留2位小數,故填money=round(money*1.037-20000,2)。⑨循環變量是year,此處year遞增進入下一輪循環,故填year=year+1。.計算每一項的階乘記錄階乘相加后的和t記錄的是每一項階乘的結果,t*=n即t=t*n,t初值為1,能計算出每項的階乘結果,若為0,則每項的階乘結果都是0,不符合題意。t=t*ns=s+t【詳解】本題考查的是python語言編程。本題考查的是1-20階乘的求和。本題的重點是要先計算出對應的每一項階乘的結果t,然后20項階乘的結果記錄在s中。在此過程中既要考慮到累乘求階乘結果,又要考慮到累加求所有階乘的和。初值n=0,在1-21的循環過程中,記錄每一項的階乘,s=0記錄階乘累加的和,t=1記錄每一項階乘的結果。每求一次階乘就要進行一次求和,故語句t*=n,s+=t均在“forninrange(1,21):”的循環體內。.ifprintelse【詳解】本題主要考查Python程序的執行與調試。①secret是隨機生成的數,sc是你猜的數字,此處是判斷cs與secret的大小,故填if。②如果cs大于secret,則輸出“唉,猜大啦〃,故填printo③如果cs小于secret,輸出“嘿嘿,猜小了!〃,故填else。.s=s+kk=k+5print(s)【詳解】本題主要考查Python程序的執行與調試。s=0,k=1,計算S=1+6+11+…+101,循環條件是k<=101,故循環體應為s=s+k,k=k+5,循環結束后,輸出計算結果,故print(s)。6.0【詳解】本題主要考查Python中While循環結構。Python編程中while語句用于循環執行程序,即在某條件下,循環執行某段程序,以處理需要重復處理的相同任務。題中循環體內含If選擇結構,即當i%3為0時,執行sum變量累加i,輸出i,i自增加1操作,因此本題輸出0后,循環無限執行下去。【點睛】.參考答案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語句可以立即終止當前循環的執行,跳出當前所在的循環結構。無論是while循環還是for循環,只要執行break語句,就會直接結束當前正在執行的循環體。這就好比在操場上跑步,原計劃跑10圈,可是當跑到第2圈的時候,突然想起有急事要辦,于是果斷停止跑步并離開操場,這就相當于使用了break語句提前終止了循環。答案中代碼的實現過程見下圖:打|巳tanronnairwnuffori打|巳tanronnairwnufforiinranse(2jLOI):j=£urhilei<=i:ifbreakj十二1ifj<i:cantinaeelse;print(i?end=""Python3.6.b:節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循環結構。題目要求計算1、6、11..101等差數列之和,其中公差為5,因此①為5;s變量用于記錄等差數列之和,需進行累加計算,因此②為s+i。【點睛】.AAs-max-min【詳解】本題主要考查Python程序的執行與調試。①在引用tkinter模塊進行界面設計的過程中,窗體中錄入評委打分的對象是由Entry控件生成的(Entry是Tkinter用來接收字符串等輸入的控件,該控件允許用戶輸入一行文字),故選A選項。②題目中算法描述采用的是偽代碼,故選A選項。③從總分中s中去掉最高分max和最低分min,求出其他4位評委的平均分aver作為選手的最終得分,故此處填s-max-min。.range(1,33)g+m+x==1005*g+3*m+xR【詳解】本題考查的是算法中的經典問題。百雞百錢問題是典型的枚舉算法解決,枚舉算法的關鍵就是找到問題解決的條件和枚舉范圍。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程序執行與調試。①for循環體是將索引0-n追加到llist中,此處是循環體執行完,將末元素與首元素的索引加入到llist中,故填llist.append([n-1,0])。②head是列表頭,初始化為0,故填head=0。③最后剩下一個,其余人都將被殺掉,故循環條件是10ng>1,變量long控制元素個數,故填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的數量為",小"*print("可節省的壬商為“*“元”)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的本數為:30購買筆記本】和筆記本2的敷里為3。本司節譽的全額為46.00元?>1【詳解】本題主要考查Python程序的執行與調試。運行結果如下:金4-l,py-C:/Users/huangtaixia/Drsktop/4-l.py(5.7.0)fileEditFormatRunOptions:WindowHelp2立廣鎘我購i買的第記本i和和記權的本數為:“行一a=34nb=5*ny=(a+b)*(1-0.8)pnntC1的展第i己本1和呈記本2的數重為m*本print,可節雀的金雀為"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輸入購關的筆記本l和笠記本2的本數為"0購買筆記本1相筆記本2的數量為3n本可節省的金額為4fi.0C元>?I.s=input(”請輸入要轉換的字符)c=len(s)#len求字符串長度foriinrange(0,c):ifi<2:print(chr(ord(s[i])+2))#ordord()函數是chr()函數配對函數,將字符轉ASCII值else:print(chr(ord(s[i])+3))【詳解】本題主要考查程序設計。題干要求可通過Python程序條件分支結構實現,具體代碼如下:s=input(”請輸入要轉換的字符)c=len(s)#len求字符串長度foriinrange(0,c):ifi<2:print(chr(ord(s[i])+2))#ordord()函數是chr()函數配對函數,將字符轉ASCII值else:print(chr(ord(s[i])+3)).nrn【詳解】本題考查的是Python循環語句。輾轉相除法:用較大數除以較小數,再用出現的余數(第一余數)去除除數,再用出現的余數(第二余數)去除第一余數,如此反復,直到最后余數是0為止。如果是求兩個數的最大公約數,那么最后的除數就是這兩個數的最大公約數。由n=min(x,y)可知最小值為n,故①處為n,由r=m%n可知余數為r,故②處為r,最后的除數是n(即最大公約數為n),故③處為n。.m%nrr=m%nngcd(a,b)【詳解】本題主要考查Python程序設計。①首先對m和n求余得到r,判斷r是否為0,故此處填m%n。②如果r為0則結束,否則更新m的值為n,n的值為r。③此處用更新后的m和n繼續求r,繼續判斷,故填r=m%n。④循環結束后當r=0時,n即為最大公約數,故填n。⑤輸入@、b的值,使用函數gcd求a和b的最大公約數,故填gcd(a,b)。.price=int(input("請輸入消費額(整數):"))ifprice<200:price=price-price*0.1else:price=price-price*0.2print("折扣后的應付金額是:",price)【詳解】本題主要考查Python程序的執行與調試。用鍵盤通過輸入函數input輸入消費額,并用int函數將其轉換為整數類型,通過if條件分支結構,判斷如果購買金額不高于200元,會給10%的折扣,如果購買金額高于200元,會給20%的折扣,最后用print輸出函數輸出折扣后的應付金額。.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程序的執行與調試。①第一空將輸入的字符串s的長度賦給變量k,故填k=len(s)。②flag用來標記是否有連續字符構成的升序段,第二空判斷相鄰位置后面字符的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,表示當前沒有連續字符構成的升序段,需要繼續判斷尋找,故填flag=False。.c5【詳解】本題主要考查Python程序執行與調試。①第一個人38歲,n標記第幾個人,變量c保存年齡,當n=1時,c=38,故第一空填38。②后面的人都比前一個人小3歲,故當n不等于1時,調用遞歸函數age,c=age(n-1)-3,最后返回第n個人的年齡c,第二空填c。③此處是返回第5個人的年齡,即age(5),填5。.tc>0c=c+1或者c+=1【詳解】本題主要考查Python程序執行與調試。①變量tc保存西瓜數量,當tc大于0時,一直循環,故第一空填tc>0。②變量c保存天數,每循環一次,變量c遞增1,故第二空填c=c+1或者c+=1。20.DTot1=(T-9)X0.2Tot2=8Tot2=8+(S-3.3)X1.35Cost=Totl+Tot2第一步:輸入實際里程S和實際時長T第四步:計算應支付費用Cost第五步:輸出應支付費用CostEA順序結構選擇結構循環結構順序結構選擇結構零個一個略【詳解】本題主要考查算法及程序設計。①小C登錄滴滴出行官網搜索并下載“計價規則〃,所采用的數字化工具:信息檢索工具,故選D選項。②如果時長超過9分鐘,則Tot1=(T-9)x0.2。③如果里程小于等于3.3公里則Tot2=8。④里程大于3.3公里,則Tot2=8+(S-3.3)X1.35。⑤應支付費用:Cost=Totl+TotZ⑥第一步:輸入實際里程S和實際時長T。⑦第四步:計算應支付費用Cost。⑧第五步:輸出應支付費用Cost。⑨流程圖中,表示計算與賦值的是矩形框,即選項E。⑩表示算法流向的是箭頭,即選項A。算法描述中,用到了三種基本控制結構,分別是?順序結構?選擇結構?循環結構。如圖示中的流程圖使用的控制結構是?順序結構?選擇結構。?一個算法必須有零個或多個數據輸入。?有一個或多個數據輸出。?略21.myRank.append(A[i]) j<len(B)k<len(A)+len(B)-1A[i]<B[j]【詳解】本題主要考查python編程。根據表格所示,列表B中第5個元素為309,因此①處為309;A[i]<B[j]時,將列表末尾添加A[i],因此②處為myRank.append(A[i]);當列表未結束時,列表末尾添加相應元素,因此③處為j<len(B);算法二中引入變量k,用以記錄i與j的和,當k小于len(A)+len(B)-1說明兩列表未結束,因此④處為k<len(A)+len(B)-1;若A[i]<B[j],則先將A[i]添加至列表末尾,因此⑤處為A[i]< B[j]。【點睛】22.n=10m=m+(n**(le-2-i))*at=convert(s1)-24D【詳解】本題主要考查Python程序的執行與調試。①二進制的權值是2,十進制的權值是10,十六進制的權值是16,此處是十進制的情況,故填n=10。②二進制、十六進制轉化為十進制的方法是“按權展開、逐項相加”,從右往左加,變量i的初值等于0,故此處要變換為le-2-i,故此處填m=m+(n**(le-2-i))*a。③當字符c是“+”、"-”、“=”時,則表明第一個運算數已全部保存到變量s1中,此處需要將其轉化為十進制保存到變量t中,故填t=convert(s1)。④1110B轉化為十進制數是14D,30H轉化為十進制數是48D,故1110B+10D-30H=-24D。.pd.read_csv學校代碼result.drop(,姓名’,axis=l)將總人數存儲到變量zrs中【詳解】本題主要考查Python程序的執行與調試。①將csv文件讀入并轉化為數據框形式,故填pd.read_csv。②groupby函數主要的作用是進行數據的分組,此處按學校分組計數,故填學校代碼。③此處刪除“姓名”歹U,可以使用drop()函數來刪除,故填result.drop(‘姓名’,axis=l)。④zrs=len(df.index),該語句是統計df內有多少個元素,即將總人數存儲到變量zrs中。.列表字典鍵值對33【詳解】本題考查的是python語言的數據類型,列表和字典。(1)列表是寫在方括號口之間,用逗號分隔開的元素列表,students=[‘小明’,‘小紅’,‘小剛’]就是列表。(2)字典用{}標識,它是一個無序的“鍵(key):值(value)”對集合,字典當中的元素是通過鍵來存取的,而不是通過偏移存取。scores={'小明':95,‘小紅':90,‘小剛':90}就是一個字典類型。(3)其中“‘小明':95”就構成了一個鍵值對。(4)len()方法返回列表元素個數。students=[‘小明’,‘小紅’,'小剛'],里面有三個元素,故返回值是3。(5)print(len(scores)),其中scores={'小明':95,'小紅’:90,‘小剛':90}該字

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論