python期末練習(xí)的題目和答案_第1頁(yè)
python期末練習(xí)的題目和答案_第2頁(yè)
python期末練習(xí)的題目和答案_第3頁(yè)
python期末練習(xí)的題目和答案_第4頁(yè)
python期末練習(xí)的題目和答案_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Python答案Py實(shí)驗(yàn)1一、填空1、【機(jī)器語(yǔ)言】是一種二進(jìn)制語(yǔ)言,它直接使用二進(jìn)制代碼表達(dá)指令。2、多行注釋以【'''或"""】開(kāi)頭,其后內(nèi)容為注釋。3、一次性翻譯,之后不再需要源代碼的執(zhí)行源程序方式稱為【編譯】方式。4、每次程序運(yùn)行時(shí)隨翻譯隨執(zhí)行的執(zhí)行源程序方式稱為【解釋】方式。5、Python的兩種編程方式的【交互式和文件式/文件式和交互式】。二、單選1、命名規(guī)則中不正確的是B【3hours】(命名采用大寫(xiě)字母、小寫(xiě)字母、數(shù)字、下劃線和漢字等,但首字母不能是數(shù)字,中間不能有空格,長(zhǎng)度無(wú)限制)2、以下選項(xiàng)不正確的是C【Python語(yǔ)言是靜態(tài)語(yǔ)言】3、單行注釋以A【#】開(kāi)頭,其后內(nèi)容為注釋4、腳本語(yǔ)言的特點(diǎn)是B【優(yōu)化更充分、跨多個(gè)操作系統(tǒng)平臺(tái)】5、D【Java語(yǔ)言】是靜態(tài)語(yǔ)言三、程序設(shè)計(jì)1、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:打印如下九九乘法表1*1=12*1=22*2=43*1=33*2=63*3=94*1=44*2=84*3=124*4=165*1=55*2=105*3=155*4=205*5=256*1=66*2=126*3=186*4=246*5=306*6=367*1=77*2=147*3=217*4=287*5=357*6=427*7=498*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=649*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81要求:使用for循環(huán)的方式完成---------------------------------------------------------注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)的注釋標(biāo)志之間填入所編寫(xiě)的若干語(yǔ)句。------------------------------------------------------'''defmain():#**********Program**********foriinrange(1,10):forjinrange(1,i+1):print("{}*{}={}".format(j,i,i*j),end='')print('')#**********End**********if__name__=='__main__':main()--2、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:整數(shù)序列求和。用戶輸入一個(gè)正整數(shù)N,計(jì)算從1到N(包含1和N)相加之后的結(jié)果。------------------------------------------------------'''defmain():n=input("【請(qǐng)輸入整數(shù)N:】")#**********Program**********sum=0foriinrange(int(n)):sum+=i+1print("1到N求和結(jié)果:",sum)#**********End**********print("%d"%sum)if__name__=='__main__':main()--3、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:計(jì)算前n個(gè)自然數(shù)的階乘之和1!+2!+3!+...+n!的值---------------------------------------------------------注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)的注釋標(biāo)志之間填入所編寫(xiě)的若干語(yǔ)句。------------------------------------------------------'''defmain():n=int(input("【請(qǐng)輸入一個(gè)正整數(shù)n:】"))result,t=0,1#**********Program**********forninrange(1,n+1):t*=nresult+=t#**********End**********print('%d'%result)if__name__=='__main__':main()Py實(shí)驗(yàn)2一、填空1、【字符串】是字符的序列,可以按照單個(gè)字符或多個(gè)字符片斷進(jìn)行索引。2、Python語(yǔ)言采用嚴(yán)格的【縮進(jìn)】來(lái)表明程序的格式框架,它是每一行代碼開(kāi)始前的空白區(qū)域,用來(lái)表示代碼間的包含好層次關(guān)系。3、【注釋】是程序代碼中的一行或多行信息,用于對(duì)語(yǔ)句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)或方法進(jìn)行說(shuō)明,提升代碼的可讀性。4、算法是數(shù)學(xué)好計(jì)算機(jī)領(lǐng)域的概念,指完成特定計(jì)算的一組【有序】操作。5、【Input()】函數(shù)用于獲得用戶輸入,無(wú)論輸入什么內(nèi)容,它都以字符串類型返回結(jié)果。二、單選1、以下哪項(xiàng)是錯(cuò)誤的變量名?C【Tempstr】2、以下哪項(xiàng)不是注釋的用途?A【參與程序執(zhí)行】3、以下哪項(xiàng)可以理解為一組表達(dá)特定功能表達(dá)式的封裝?C【函數(shù)】4、以下哪種符號(hào)能作為注釋的標(biāo)點(diǎn)符號(hào)?B【#或'''】5、以下不能通過(guò)縮進(jìn)包含其他代碼的語(yǔ)法形式有:D【print()語(yǔ)句】三、程序設(shè)計(jì)1、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:使用turtle庫(kù)的函數(shù)繪制一條彩色蟒蛇如“樣張”所示------------------------------------------------------'''#**********Program**********importturtleturtle.setup(650,350,200,200)mycolor=["red","blue","purple","green"]turtle.penup()turtle.fd(-250)turtle.pendown()turtle.pensize(25)turtle.seth(-40)foriinrange(4):turtle.pencolor(mycolor[i])turtle.circle(40,80)turtle.circle(-40,80)turtle.circle(40,80/2)turtle.fd(40)turtle.circle(16,180)turtle.fd(40*2/3)2、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:使用turtle庫(kù)的turtle.pencolor()、turtle.seth()、turtle.fd()等函數(shù),繪制一個(gè)邊長(zhǎng)為200的紅色等邊三角形。如樣張所示。------------------------------------------------------'''#**********Program**********importturtleturtle.pencolor("red")turtle.fd(200)turtle.seth(120)turtle.fd(200)turtle.seth(240)turtle.fd(200)#**********End**********#**********End**********3、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:使用turtle庫(kù)的turtle.pencolor()、turtle.circle()函數(shù)和循環(huán)語(yǔ)句繪制若干個(gè)藍(lán)色的圓,最大圓的半徑為150,其余圓的半徑依次減少20,效果如樣張所示。要求:圓的半徑變量使用“r”。------------------------------------------------------'''#**********Program**********importturtleturtle.pencolor("blue")r=150foriinrange(16):turtle.circle(r)r=r-20#**********End**********Py實(shí)驗(yàn)3一、填空1、Python表達(dá)式中3*4**2/8%5的值為【1】2、Python包含3種數(shù)據(jù)類型,分別是【整數(shù)類型】3、Python表達(dá)式3**2**3的值為【6561】4、Python表達(dá)式10+5//3的值為【11】5、Python的布爾(boll)數(shù)據(jù)類型用于【邏輯】運(yùn)算二、單選1、Python語(yǔ)句print(type(2j))的輸出結(jié)果是A【class'complex'】2、Python語(yǔ)句print(type(1/2))的輸出結(jié)果是C【class'float'】3、Python語(yǔ)句x='car'y=2print(x+y)的輸出結(jié)果是A【語(yǔ)法錯(cuò)】4、下列數(shù)據(jù)中,Python不支持的是A【char】5、Python語(yǔ)句print(char(65))的運(yùn)行結(jié)果是D【A】三、程序設(shè)計(jì)1、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:回文數(shù)判斷,設(shè)n是一個(gè)任意自然數(shù),如果n的各位數(shù)字反向排列所得自然數(shù)與n相等,則n被稱為回文數(shù),從鍵盤(pán)輸入一個(gè)5位數(shù)字,請(qǐng)編寫(xiě)程序判斷這個(gè)數(shù)字是不是回文數(shù)。------------------------------------------------------'''whileTrue:raw_inputdata=input("【請(qǐng)輸入一個(gè)5位數(shù)的自然數(shù):】")inputdata=raw_inputdata.strip()ifnotinputdata.isdigit()orlen(inputdata)!=5:continueelse:#**********Program********** newdatalist=list(inputdata)newdatalist.reverse()newdata="".join(newdatalist)ifnewdata==inputdata:#**********End**********print("輸入數(shù)據(jù)"+inputdata+"是回文")else:print("輸入數(shù)據(jù)"+inputdata+"不是回文")select_data=input("【請(qǐng)輸入q退出,p繼續(xù)進(jìn)行:】")ifselect_data.strip()=='p':continueifselect_data.strip()=='q':break2、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:重量計(jì)算,月球上物體的重量是地球上的16.5%,假如你在地球上每年增長(zhǎng)0.5kg,編寫(xiě)程序輸出未來(lái)10年你在地球上和月球上的體重狀況。------------------------------------------------------'''defmain():#**********Program**********ratio=0.165foriinrange(10):earth=(i+1)*0.5moon=earth*ratio#**********End**********print("第"+str(i+1)+"年地球上體重增加:"+str(earth)+"kg"+"月球上體重增加:"+str(moon)+"kg")if__name__=='__main__':main()3、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:補(bǔ)充函數(shù)getLastDay(y,m),其功能是計(jì)算y年m月共有多少天。---------------------------------------------------------注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)的注釋標(biāo)志之間填入所編寫(xiě)的若干語(yǔ)句。------------------------------------------------------'''defgetLastDay(y,m):#**********Program**********ify<1:y=1ifm<1:m=1ifm>12:m=12monthDay=[31,28,31,30,31,30,31,31,30,31,30,31]r=monthDay[m-1]ifm==2:r=r+leapYear(y)returnr#**********End**********defleapYear(y):ify<1:y=1if(y%400)==0:lp=1elif(y%100)==0:lp=0elif(y%4)==0:lp=1else:lp=0returnlpdefmain():print("【請(qǐng)分別三次計(jì)算某年某月共有多少天:】")forninrange(3):print("【第%d次:】"%(n+1))y=int(input("【請(qǐng)輸入年份y:】"))m=int(input("【請(qǐng)輸入月份m:】"))print('【%d年%d月為】%d【天】'%(y,m,getLastDay(y,m)))if__name__=='__main__':main()Py實(shí)驗(yàn)4一、填空1.關(guān)于程序的控制結(jié)構(gòu),【順序】結(jié)構(gòu)只有一個(gè)入口。2.以下可以終結(jié)一個(gè)循環(huán)的保留字是【Break或break】。3.Python通過(guò)【縮進(jìn)】來(lái)判斷操作是否在分支結(jié)構(gòu)中。4.Python中通過(guò)try-except語(yǔ)句提供【異常處理】功能。5.關(guān)于死循環(huán)“死循環(huán)有時(shí)候?qū)幊逃幸欢ㄗ饔谩?,這個(gè)觀點(diǎn)是【正確】的。二、單選1、循環(huán)結(jié)構(gòu)可以使用Python語(yǔ)言中B【while】語(yǔ)句實(shí)現(xiàn)。2、使用random庫(kù)中的B【randrange(1,100,2)】函數(shù)能隨機(jī)選取0到100間的奇數(shù)。3、在編寫(xiě)Python程序代碼時(shí),可以使用D【\】符號(hào)將很長(zhǎng)的一行代碼分解為多行書(shū)寫(xiě)。4、下面不是while循環(huán)的特點(diǎn)的是D【必須提供循環(huán)的次數(shù)】。5、如果Python程序運(yùn)行時(shí)進(jìn)入了死循環(huán),在IDLE環(huán)境中,可以使用A【Ctrl+C】退出程序運(yùn)用。三、程序設(shè)計(jì)1、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:在程序中預(yù)設(shè)一個(gè)0-9之間的整數(shù),讓用戶通過(guò)鍵盤(pán)輸入所猜的數(shù),如果大于預(yù)設(shè)的數(shù),顯示“遺憾,太大了”;小于預(yù)設(shè)的數(shù),顯示“遺憾,太小了”。如此循環(huán),直至猜中該數(shù),顯示“預(yù)測(cè)了N次,你猜中了!”,其中N是用戶輸入數(shù)字的次數(shù)。不使用異常處理。輸出實(shí)例如樣張所示。------------------------------------------------------'''defmain():N=8a=eval(input("【請(qǐng)輸入一個(gè)整數(shù):】"))k=1#**********Program**********whilea!=N:ifa>N:print("遺憾,太大了")elifa<N:print("遺憾,太小了")else:break#**********End**********a=eval(input("【請(qǐng)輸入一個(gè)整數(shù):】"))k+=1print("預(yù)測(cè){}次,你猜中了!".format(k))if__name__=='__main__':main()2、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:統(tǒng)計(jì)不同字符個(gè)數(shù)。用戶從鍵盤(pán)輸入一行字符,編寫(xiě)一個(gè)程序,統(tǒng)計(jì)并輸出其中英文字符、數(shù)字、空格和其他字符的個(gè)數(shù)。輸入輸出結(jié)果實(shí)例:【請(qǐng)輸入一行字符:】sfdfggg547657$%^&&**數(shù)字有6個(gè)字母有7個(gè)空格有4個(gè)其他字符有7個(gè)------------------------------------------------------'''defmain():letter=0space=0digit=0others=0s=input("【請(qǐng)輸入一行字符:】")#**********Program**********forcins:if'1'<=c<='9':digit+=1elif'a'<=c<='z'or'A'<=c<='Z':letter+=1elifc=='':space+=1else:others+=1#**********End**********print("數(shù)字有{}個(gè)".format(digit))print("字母有{}個(gè)".format(letter))print("空格有{}個(gè)".format(space))print("其他字符有{}個(gè)".format(others))if__name__=='__main__':main()3、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:從鍵盤(pán)接收兩個(gè)整數(shù),編寫(xiě)程序求出這兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù)提示:求最大公約數(shù)可用輾轉(zhuǎn)相除法,求最小公倍數(shù)則用兩個(gè)數(shù)的積除以最大公約數(shù)即可輸入輸出實(shí)例:【請(qǐng)輸入一個(gè)整數(shù):】6【請(qǐng)輸入另一個(gè)整數(shù):】96和9的最大公約數(shù)是36和9的最大公倍數(shù)是18------------------------------------------------------'''defmain():M=eval(input("【請(qǐng)輸入一個(gè)整數(shù):】"))N=eval(input("【請(qǐng)輸入另一個(gè)整數(shù):】"))#**********Program**********a=Mb=Nifa<b:t=aa=bb=twhileb!=0:c=a%ba=bb=c#**********End**********print("{}和{}的最大公約數(shù)是{}".format(M,N,a))print("{}和{}的最大公倍數(shù)是{:.0f}".format(M,N,M*N/a))if__name__=='__main__':main()Py實(shí)驗(yàn)5一、填空1、表達(dá)式list(range(50,60,3))的值為【[50,53,56,59]】2、如果函數(shù)中沒(méi)有return語(yǔ)句或者return語(yǔ)句不帶任何返回值,那么該函數(shù)的返回值為【None】3、已知函數(shù)定義defdemo(x,y,op):returneval(str(x)+op+str(y)),那么表達(dá)式demo(3,5,'*')的值為【15】。4、在函數(shù)內(nèi)部可以通過(guò)關(guān)鍵字【global】來(lái)定義全局變量。5、已知有函數(shù)定義defdemo(*p):returnsum(p),那么表達(dá)式demo(1,2,3,4)的值為【10】。二、單選1、下面關(guān)于函數(shù)調(diào)用描述正確的是D【自定義函數(shù)調(diào)用前必須定義】2、下列代碼的輸出結(jié)果B【24】d=lambdap:p*2t=lambdap:p*3x=2x=d(x)x=t(x)x=d(x)printx3、有關(guān)遞歸函數(shù)基例的說(shuō)明下面哪個(gè)是不正確的C【每個(gè)遞歸函數(shù)都只能有一個(gè)基例】4、Python如何定義一個(gè)函數(shù)C【def<name>(arg1,arg,...,argN)】5、對(duì)下列代碼描述正確的是D【運(yùn)行會(huì)出錯(cuò)】defreverse(S):returnreverse(S[1:]+S[0])三、程序設(shè)計(jì)1、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:從鍵盤(pán)輸入某一年,請(qǐng)編寫(xiě)fun函數(shù),其功能為判斷該年是否為閏年。說(shuō)明:閏年的條件是:(1)能被4整除但不能被100整除。(2)能被400整除。符合任何一個(gè)條件就是閏年。(3)輸入年份為整型。例如:括號(hào)內(nèi)是說(shuō)明輸入:2000(year=2000)輸出:2000是閏年---------------------------------------------------------注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)的注釋標(biāo)志之間填入所編寫(xiě)的若干語(yǔ)句。------------------------------------------------------'''deffun(year):#**********Program**********if(year%4)==0and(year%100)!=0or(year%400)==0:returnTrueelse:returnFalse#**********End**********defmain():print("【請(qǐng)連續(xù)四次判斷輸入的某一年是否為閏年:】")forninrange(4):print("【第%d次:】"%(n+1))year=int(input("【請(qǐng)輸入一個(gè)年份:】"))iffun(year):print("{0}是【閏年】".format(year))else:print("{0}不是【閏年】".format(year))if__name__=='__main__':main()2、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:請(qǐng)編寫(xiě)函數(shù)fun,其功能是:用for循環(huán)語(yǔ)句求1到n之間所有偶數(shù)之和(若n為偶數(shù)包括n),并將結(jié)果返回給主函數(shù)。(n值由用戶輸入)例如:運(yùn)行程序后若輸入:10,則輸出為:sum=30。---------------------------------------------------------注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)的注釋標(biāo)志之間填入所編寫(xiě)的若干語(yǔ)句。------------------------------------------------------'''deffun(n):#**********Program**********s=0foriinrange(0,n+1,2):s=s+ireturns#**********End**********defmain():print("【請(qǐng)分別三次計(jì)算問(wèn)題:】")foriinrange(3):print("【第%d次:】"%(i+1))n=int(input("【請(qǐng)輸入一個(gè)大于1的正整數(shù)n:】"))if(n<=1):print("【請(qǐng)輸入一個(gè)大于1的正整數(shù)!】");else:print("【1到"+str(n)+"之間所有偶數(shù)之和是:】",fun(n))if__name__=='__main__':main()3、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:請(qǐng)編寫(xiě)main函數(shù),輸入一個(gè)百分制成績(jī)score,根據(jù)成績(jī)打印5級(jí)等級(jí)。(即0~59:E;60~69:D;70~79:C;80~89:B;90~100:A)要求:使用if語(yǔ)句,根據(jù)成績(jī)輸出A等!或B等!或C等!或D等!或E等!---------------------------------------------------------注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)的注釋標(biāo)志之間填入所編寫(xiě)的若干語(yǔ)句。------------------------------------------------------'''defmain():print("【請(qǐng)連續(xù)五次根據(jù)輸入的成績(jī)打印等級(jí):】")forninrange(5):print("【第%d次:】"%(n+1))score=int(input("【請(qǐng)輸入一個(gè)百分制成績(jī):】"))#**********Program**********ifscore>=0andscore<=59:print("E等!")elifscore>=60andscore<=69:print("D等!")elifscore>=70andscore<=79:print("C等!")elifscore>=80andscore<=89:print("B等!")else:print("A等!")#**********End**********if__name__=='__main__':main()Py實(shí)驗(yàn)6一、填空1、Python提供了5種內(nèi)置的組合數(shù)據(jù)類型:【字符串、元組、列表、集合、字典】2、列表的特點(diǎn)是用【方】括號(hào),列表內(nèi)的值可以進(jìn)行修改,可以用于一些需要經(jīng)常改變的數(shù)據(jù)。3、字典的特點(diǎn):存放的數(shù)據(jù),是一個(gè)見(jiàn)值對(duì){key:value},key【不能重復(fù)】,value【可以重復(fù)】4、一段數(shù)據(jù)雜亂無(wú)章的放在一起,沒(méi)有次序的概念,也會(huì)去掉重復(fù)的數(shù)據(jù),這是【集合】數(shù)據(jù)類型。5、組合數(shù)據(jù)類型包括三大類,分別是【序列類型、集合類型、映射類型】二、單選1、下面關(guān)于元組敘述不正確的是:B【無(wú)序的集合】2、請(qǐng)選出下列選項(xiàng)在pythonshell運(yùn)行之時(shí)會(huì)報(bào)錯(cuò)的選項(xiàng)D【rsult=["1"+["2"]]】3、組合數(shù)據(jù)類型包括三大類,分別是序列類型、集合類型和C【映射類型】4、Python提供了5種內(nèi)置的組合數(shù)據(jù)類型:C【字符串、元組、列表、集合、字典】5、序列類型包括A【字符串、元組、列表】三、程序設(shè)計(jì)1、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:重復(fù)元素判定。編寫(xiě)一個(gè)函數(shù),接受列表作為參數(shù),如果一個(gè)元素在列表中出現(xiàn)了不止一次,則打印True,否則打印False,但不要改變?cè)瓉?lái)列表的值。------------------------------------------------------'''#**********Program**********deftestReEle(lis):tem=set(lis)iflen(tem)!=len(lis):print('True')else:print('False')#**********End**********defgetList():lis=[]ch=input("請(qǐng)輸入判定元素,回車表示結(jié)束:")whilech!='':lis.append(ch)ch=input("請(qǐng)輸入判定元素,回車表示結(jié)束:")testReEle(lis)getList()2、#-*-coding:cp936-*-'''------------------------------------------------------【程序設(shè)計(jì)】---------------------------------------------------------題目:文本字符分析。編寫(xiě)程序接收字符串,按照字符出現(xiàn)頻率的降序打印字母。輸出實(shí)例:【請(qǐng)輸入要分析的字符串,#表示結(jié)束:】werwwew3e2r1【請(qǐng)輸入要分析的字符串,#表示結(jié)束:】#------------------------------------------------------'''str=input("【請(qǐng)輸入要分析的字符串,#表示結(jié)束:】")whilestr!='#':#**********Program**********counts={}forchinstr:counts[ch]=counts.get(ch,0)+1items=list(counts.items())items.sort(key=lambdax:x[1],reverse=True)foriinrange(len(items)):word,count=items[i]#**********End**********print("{0:<10}{1:>5}".format(word,count))str=input("【請(qǐng)輸入要分析的字符串,#表示結(jié)束:】")Python期末練習(xí)一、單項(xiàng)選擇題1.下面代碼的輸出結(jié)果是A【10】。x=0b1010;print(x)2,以下選項(xiàng)中描述正確的是B【軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合】3.下面代碼的輸出結(jié)果是A【12.12】z=12.12+34jprint(z.real)4.下面代碼的輸出結(jié)果是A【11000】。x=10y=3print(x%y,x**y)5.下面代碼的輸出結(jié)果是A【acbd】。a=“ac”b="ba”c=a+bprint(c)6.下面代碼的輸出結(jié)果是A【Helloorld】。forsin"HelloWorld":ifs=="W":continueprint(s,end="")7.下面代碼的輸出結(jié)果是D【Hello】。forsin"HelloWorld":ifs=="W":breakprint(s,end="")8.關(guān)于break語(yǔ)句與continue語(yǔ)句的說(shuō)法中,以下選項(xiàng)中不正確的是C【continue語(yǔ)句結(jié)束循環(huán),繼續(xù)執(zhí)行循環(huán)語(yǔ)句的后續(xù)語(yǔ)句】。9.關(guān)于程序的異常處理,以下選項(xiàng)中描述錯(cuò)誤的是B【編程語(yǔ)言中的異常和錯(cuò)誤是完全相同的概念】。10.關(guān)于Python的分支結(jié)構(gòu),以下選項(xiàng)中描述錯(cuò)誤的是A【分支結(jié)構(gòu)可以向經(jīng)執(zhí)行過(guò)的語(yǔ)句部分跳轉(zhuǎn)】。11.下面代碼的執(zhí)行結(jié)果是C【39.4384】。>>>defarea(r,pi=3.14159):returnpi*r*r>>>area(3.14,4)12.關(guān)于下面代碼,以下選項(xiàng)中描述正確的是A【參數(shù)按照名稱傳遞】。deffact(n,m=1):s=1foriinrange(1,n+1):s*=ireturns//mprint(fact(m=5,n=10))13.關(guān)于形參和實(shí)參的描述以下選項(xiàng)中正確的是C【程序在調(diào)用時(shí),將實(shí)參復(fù)制給函數(shù)的形參】。14.在Python中,關(guān)于全局變量和局部變量,以下選項(xiàng)中描述不正確的是B【全局變量不能和局部變量重名】。15.執(zhí)行下面代碼,錯(cuò)誤的是B【f(1,x=1,z=3】。deff(x,y=0,z=0):pass#空語(yǔ)句,定義空函數(shù)體16.以下選項(xiàng)中不能生成個(gè)空字典的是B【{D}】。17.下面代碼的輸出結(jié)果是C【[2,3,5,7]】。a=Oforiinrange(2,10):count=0forxinrange(2,i-1):ifi%x==0:count+=1ifcount==O:a.append(i)print(a)18.元組變量t=("cat","dog","tiger","human"),t[:-1]的結(jié)果是A【(human','tiger','dog','cat')】。19.字典d={"abc':123,'def:456,'ghi':789),len(d)的結(jié)果是A【3】。20.下面代碼的輸出結(jié)果是A【<class'dict'>】。>>>s={}>>>type(s)三、程序設(shè)計(jì)第1題題目:如下函數(shù)返回兩個(gè)數(shù)的平方和與n的乘積,請(qǐng)補(bǔ)充橫線處代碼。#**********Program**********n=2defpsum(___①__):___②_return(a**2+b**2)*n#**********End**********defmain():a=int(input(""))b=int(input(""))f=psum(a,b)print("%d"%f)if__name__=='__main__':main()答案:n=2defpsum(a,b):globalnreturn(a**2+b**2)*n第2題題目:獲得用戶輸入的一個(gè)字符串,請(qǐng)輸出其全小寫(xiě)形式。要求:輸入一個(gè)帶有大寫(xiě)字母的字符串,輸出字符串的全小寫(xiě)形式,如樣張所示答案:s=input("")print(s.lower())第3題題目:請(qǐng)補(bǔ)充橫線處的代碼。dictMenu中存放了你的雙人下午套餐(包括咖啡2份和點(diǎn)心2份)的價(jià)格,讓Python幫忙計(jì)算并輸出消費(fèi)總額。要求:輸出一個(gè)數(shù)字dictMenu={'卡布奇洛':32,'摩卡':30,'抹茶蛋糕':28,'布朗尼':26}#**********Program**********___(1)___foriin____(2)____:#**********End**********sum+=iprint(sum)答案:sum=0foriindictMenu.values():第4題題目:獲得用戶輸入的一個(gè)字符串,輸出其中字符a的出現(xiàn)次數(shù)答案:s=input()print(s.count('a'))第5題題目:根據(jù)輸入字符串s,輸出一個(gè)寬度為15字符,字符串s居中顯示,以“=”填充的格式。如果輸入字符串超過(guò)15個(gè)字符,則輸出字符串前15個(gè)字符。提示代碼如下:輸出示例:qee======qee======foriinrange(2):s=input()#"請(qǐng)輸入一個(gè)字符串:"#**********Program**********print(____①____)#**********End**********答案:print("{:=^15}".format(s[0:15]))第6題題目:請(qǐng)補(bǔ)充橫線處的代碼,讓Python幫你隨機(jī)選一個(gè)飲品吧!答案:importrandomlistC=['加多寶','雪碧','可樂(lè)','勇闖天涯','椰子汁']print(random.choices(listC)type(random.choices(listC)))print(random.choice(listC)type(random.choice(listC)))第7題題目:編寫(xiě)程序隨機(jī)產(chǎn)生10個(gè)長(zhǎng)度不超過(guò)3位的數(shù)字,讓其首尾相連以字符串形式輸出,隨機(jī)種子為17答案:importrandomasrr.seed(17)s=""foriinrange(10):s+=str(r.randint(1,999))print(s)第8題題目:使用turtle庫(kù)的turtle.fd()函數(shù)和turtle.left()函數(shù)繪制一個(gè)六邊形,邊長(zhǎng)為200像素,效果如樣張所示,請(qǐng)結(jié)合格式框架,補(bǔ)充橫線處代碼。importturtleast#**********Program**********foriinrange(___①___):t.fd(___②___)t.left(___③___)#**********End**********答案:foriinrange(6):t.fd(200)t.left(60)PY8.程序填空(一).填空題第一題:編寫(xiě)一個(gè)python程序,完成攝氏度和華氏度溫度轉(zhuǎn)換。代碼:TempStr=input(“請(qǐng)輸入帶有符號(hào)的溫度值:”)if【TempStr】[-1]in[‘F’,’f’]:Ctem=(eval(TempSt[0:-1])-32/1.8Print(“轉(zhuǎn)換后的溫度{:.2f}C”.format(【Ctem】))Elif【TempStr】[-1]in[‘C’,’c’]:Ftem=1.8*eval(TempStr[0:-1])+32Print(“轉(zhuǎn)換后的溫度是{:.2f}F”.format(【Ftem】))else:

第二題:編寫(xiě)一條python程序,繪制一條蟒蛇。代碼:plaincode=input(“請(qǐng)輸入明文:”)forpin【penup()】:if【pendown()】<=p<=【range(4):】print(【circle(-40,80)】.end=””else:print(p,end=””)第三題編寫(xiě)一個(gè)python,完成加密算法,替換方法是每一個(gè)英文字符循環(huán)替換為字母表序列中該字符后面第三個(gè)字符。代碼:plaincode=input(“請(qǐng)輸入明文:”)forpin【plaincode】:if【”a”】<=p<=【”z”】print(【chr(ord(“a”)+(ord(p)-ord(“a”)+3)%26)】,end=””)else:print(p,end=””)第四題猜數(shù)游戲。預(yù)設(shè)一個(gè)0~9之間的數(shù),讓用戶猜一猜并輸入所猜的數(shù),如果大于預(yù)設(shè)的數(shù),顯示“太大”;小于預(yù)設(shè)的數(shù),顯示“太小”,如此循環(huán),直至猜中該數(shù),顯示“恭喜!你猜中了!”。代碼: Num=7WhileTrue:Guess=【eval】()input(‘請(qǐng)輸入你猜的數(shù)(0~9):‘))

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論