Python語(yǔ)言程序設(shè)計(jì) 習(xí)題答案 劉洋_第1頁(yè)
Python語(yǔ)言程序設(shè)計(jì) 習(xí)題答案 劉洋_第2頁(yè)
Python語(yǔ)言程序設(shè)計(jì) 習(xí)題答案 劉洋_第3頁(yè)
Python語(yǔ)言程序設(shè)計(jì) 習(xí)題答案 劉洋_第4頁(yè)
Python語(yǔ)言程序設(shè)計(jì) 習(xí)題答案 劉洋_第5頁(yè)
已閱讀5頁(yè),還剩10頁(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)介

參考答案第一章答案略第二章答案略第三章答案練習(xí)下列語(yǔ)句中,(B)在Python中是非法的。A.x=y=z=1 B.x=(y=z+1) C.x,y=y,x D.x+=y2、已知x,y=1,2,那么執(zhí)行x,y=y,x之后,x的值為(D)。A.1 B.(1,2) C.不符合語(yǔ)法,報(bào)錯(cuò)D.23、以下選項(xiàng)中不符合Python語(yǔ)言變量命名規(guī)則的是(A)。 A.3_1 B.X C.ss D.InputStr4、以下注釋語(yǔ)句中,不正確的是(D)。 A.#Python注釋 B.’’’Python注釋’’’ C.”””Python注釋””” D.//Python注釋5、print(r’\\’)和print(’\\’)的結(jié)果是(D)。 A.\和\\ B.\\和\\ C.\和\ D.\\和\第四章答案練習(xí)1、編寫(xiě)一個(gè)python程序,輸入兩個(gè)數(shù),比較它們的大小并輸出其中較大者。參考代碼:x=int(input("Pleaseenterfirstinteger:"))y=int(input("Pleaseentersecondinteger:"))if(x==y):print("兩數(shù)相同!")elif(x>y):print("較大數(shù)為:",x)else:print("較大數(shù)為:",y);2、輸入三個(gè)數(shù),輸出其最大者。參考代碼:a,b,c=3,4,5ifa<=b:ifc<b:print("b是最大的數(shù)")else:print("c是最大的數(shù)")else:ifc<a:print("a是最大的數(shù)")else:print("c是最大的數(shù)")3、使用Python編程,求1~100間所有偶數(shù)的和。參考代碼:sum=0forxinrange(1,101):ifx%2==0:print(x)sum=sum+xprint("累加和是:",sum)4、用Python編程,假設(shè)一年期定期利率為3.25%,計(jì)算一下需要過(guò)多少年,一萬(wàn)元的一年定期存款連本帶息能翻番?參考代碼:cunkuan=10000#本金10000元years=0whilecunkuan<20000:years+=1cunkuan=cunkuan*(1+0.0325)print(str(years)+"年以后,存款會(huì)翻番")5、從鍵盤接收一百分制成績(jī)(0-100),要求輸出其對(duì)應(yīng)的成績(jī)等級(jí)A-E。其中,90分以上為'A',80-89分為'B',70-79分為'C',60-69分為'D',60分以下為'E'。參考代碼:score=int(input('請(qǐng)輸入成績(jī)(0~100):'))ifscore>100:grade="輸入錯(cuò)誤!"elifscore>=90:grade='A'elifscore>=80:grade='B'elifscore>=70:grade='C'elifscore>=60:grade='D'elifscore>=0:grade='E'else:grade="輸入錯(cuò)誤!"print(grade)6、Python的分支語(yǔ)句可使用關(guān)鍵字(C)。 A.then B.else…if C.elif D.elseif7、在循環(huán)語(yǔ)句中,(A)語(yǔ)句的作用是提前結(jié)束所在循環(huán)體。 A.break B.while C.for D.continue8、若a,b=5,6,則經(jīng)過(guò)一下程序段后a和b的值是(A)。 ifa>4andb==6: a=a–1 b=a ifa==4orb==4: a=a*b A.16,4 B.16,16 C.25,5 D.25,259、以下語(yǔ)句執(zhí)行后輸出的結(jié)果為(C)。 number=30 ifnumber%5==0: number=number+5 else: number=number–5 print(number) A.30 B.20 C.35 D.1110、語(yǔ)句foriinrange(1,10,3)執(zhí)行過(guò)程中,i的值為(C)。 A.1,2,3 B.1,4,7,10 C.1,4,7 D.1,2,3,4第五章習(xí)題答案1、寫(xiě)代碼,有如下變量,請(qǐng)按照要求實(shí)現(xiàn)每個(gè)功能。name="aleX"(1)移除name變量對(duì)應(yīng)的值兩邊的空格,并輸入移除有的內(nèi)容(2)判斷name變量對(duì)應(yīng)的值是否以"al"開(kāi)頭,并輸出結(jié)果(3)判斷name變量對(duì)應(yīng)的值是否以"X"結(jié)尾,并輸出結(jié)果(4)將name變量對(duì)應(yīng)的值中的“l(fā)”替換為“p”,并輸出結(jié)果(5)將name變量對(duì)應(yīng)的值根據(jù)“l(fā)”分割,并輸出結(jié)果。(6)請(qǐng)問(wèn),上一題分割之后得到值是什么類型?(7)將name變量對(duì)應(yīng)的值變大寫(xiě),并輸出結(jié)果(8)請(qǐng)輸出name變量對(duì)應(yīng)的值的后2個(gè)字符?(9)請(qǐng)輸出name變量對(duì)應(yīng)的值中“e”所在索引位置?參考代碼:

(1)print(name.strip())(2)print(name.startswith("al"))(3)print(name.endswith("X"))(4)print(name.replace("l","p"))(5)print(name.split("l"))(6)列表(7)print(name.upper())(8)print(name[-2:])(9)print(name.index('e'))2、寫(xiě)代碼,有如下列表,按照要求實(shí)現(xiàn)每一個(gè)功能,li=['alex','eric','rain'](1)計(jì)算列表長(zhǎng)度并輸出(2)列表中追加元素“seven”,并輸出添加后的列表(3)請(qǐng)修改列表第2個(gè)位置的元素為“Kelly”,并輸出修改后的列表(4)請(qǐng)刪除列表中的元素“eric”,并輸出修改后的列表(5)請(qǐng)將列表所有的元素反轉(zhuǎn),并輸出反轉(zhuǎn)后的列表(6)請(qǐng)使用for循環(huán)輸出列表的所有元素參考代碼:(1)print(len(li))(2)li.append("seven") print(li)(3)li[1]="Kelly"print(li)(4)li.remove("eric")print(li)(5)li.reverse()print(li)(6)foriinli: print(i)3、寫(xiě)代碼,有如下元組,按照要求實(shí)現(xiàn)每一個(gè)功能,tu=('alex','eric','rain')(1)獲取元組的第1-2個(gè)元素,并輸出(2)請(qǐng)使用for、len、range輸出元組的索引(3)請(qǐng)使用enumrate輸出元組元素和序號(hào)參考代碼:

(1)print(tu[0:2])(2)foriinrange(len(tu)): print(i,tu[i])(3)forindex,iinenumerate(tu,start=10): print(index,i)\4、欲從s='Helloworld'字符串中切片出字串'Hlwl',正確的切片表達(dá)式為(A)。s[::3] B.s[:3:2] C.s[3:11:3] D.s[3::3]5、若列表score=[60,70,60,60,70,90],則執(zhí)行操作score.remove(score[-2])后score的值是(D)。 A.[60,60,60,70,90] B.[60,70,60,60,70] C.[70,60,60,70,90] D.[60,70,60,60,90]6、若Tup=(2,(2,1),(2,(2,1)),(2,(2,1),(2,(2,1)))),則下列敘述正確的是(C)。A.Tup[3][2]的值為(2,1) B.元組Tup的長(zhǎng)度為5C.Tup[3]的值是(2,(2,1),(2,(2,1))) D.Tup[2]的值是(2,1)7、已知x='abcdefg',若要得到'defgabc'結(jié)果,應(yīng)使用表達(dá)式(A)。 A.x[3:]+x[:3] B.x[:3]+x[:3] C.x[3:]+x[3:] D.x[:3]+x[3:]8、執(zhí)行結(jié)果為[1,2,3,1,2,3,1,2,3]的表達(dá)式是(D)。 A.[1,2,3]+[1,2,3] B.['1','2','3']+['1','2','3']+['1','2','3'] C.[1,2,3]**3 D.[1,2,3]*3第六章習(xí)題答案畫(huà)出函數(shù)的組成部分并給出標(biāo)注。為每個(gè)部分寫(xiě)出簡(jiǎn)短的定義。答案略編寫(xiě)函數(shù)將兩個(gè)足球隊(duì)的最后得分作為參數(shù)輸入,輸出哪個(gè)隊(duì)獲勝或者比賽中止。請(qǐng)引用變量名“Team1”和“Team2”。該函數(shù)不返回任何內(nèi)容。參考代碼:deffun(Team1,Team2):ifTeam1>Team2:print("隊(duì)伍1獲勝")elifTeam1<Team2:print("隊(duì)伍2獲勝")else:print("平局,比賽中止")Team1=input("請(qǐng)輸入隊(duì)伍1的得分")Team2=input("請(qǐng)輸入隊(duì)伍2的得分")fun(Team1,Team2)編寫(xiě)函數(shù),輸入英文句子(字符串),輸出句子中元音的個(gè)數(shù)和輔音的總個(gè)數(shù)。該函數(shù)不反悔任何內(nèi)容。請(qǐng)注意句子可能包含特殊字符,如點(diǎn)、破折號(hào)等。參考代碼:yuan=['a','e','i','o','u']fu=['b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z']deffind(string):string=string.lower()yuancnt=0fucnt=0foriinstring:ifiinyuan:yuancnt+=1ifiinfu:fucnt+=1print(string+"中元音共有",yuancnt,"個(gè),輔音共有",fucnt,"個(gè)")str=input("請(qǐng)輸入英文句子:")find(str)斐波拉契數(shù)列是:1,1,2,3,5,8,13……??梢钥吹?,第一個(gè)和第二個(gè)數(shù)字均為1。此后,每個(gè)數(shù)字是前兩個(gè)數(shù)字的總和。編寫(xiě)函數(shù)來(lái)輸出Fibonacci序列的前n個(gè)數(shù)字編寫(xiě)函數(shù),顯示序列中的第n個(gè)數(shù)字參考代碼:defFib(n):ifn==1orn==2:return1elifn<1:returnFalseelse:a=1b=1print("1\n1")while(n>2):a=a+ba,b=b,an-=1print(b)returnbn=int(input("請(qǐng)輸入n值:"))Fib(n)閏年在公歷系統(tǒng)中是能被4整除但不能被100整除,或者能被400整除的那些年份。例如1896年、1904年和2000年是閏年,但1900年不是。寫(xiě)一個(gè)函數(shù),輸入為年份,輸出是否為閏年。參考代碼:

defrunnian(year):if(year%4==0andyear%100!=0)oryear%400==0:returnTrueelse:returnFalseyear=int(input("請(qǐng)輸入一個(gè)年份,以判斷是否為閏年:"))runnian(year)這個(gè)函數(shù)實(shí)現(xiàn)什么功能?對(duì)于num=5,該函數(shù)返回什么?defdefFunc(num):total=0whilenum>0:total=total+num*(num-1) num=num-1returntotal答:對(duì)1×2+2×3+…+(n-1)×n求和。當(dāng)num=5,返回4編寫(xiě)函數(shù),輸出100以內(nèi)6和10的所有公倍數(shù)。在一般情況下,函數(shù)有三個(gè)輸入?yún)?shù):要求公倍數(shù)的兩個(gè)數(shù)字(x和y)和上限z。參考代碼:defCommonMutiple(x,y,z):#x,y為因數(shù),z為范圍ifx>y:x,y=y,x#使y最大x1=xy1=ywhilex1:y1,x1=x1,y1%x1c=x*y//y1#c盛裝最小公倍數(shù)m=cwhilem<z:print(m)m+=cCommonMutiple(6,8,100)回文?;匚南蚯白x和向后讀相同的詞,“testset”是回文。編寫(xiě)函數(shù),如果兩個(gè)字符串是回文,返回真。(提示:可以用list()函數(shù)對(duì)字符串創(chuàng)建列表,列表使用起來(lái)很方便,因?yàn)樽址袀€(gè)reverse()方法)編寫(xiě)函數(shù),使用你的函數(shù)。程序提示輸入兩個(gè)字符串,調(diào)用該函數(shù),顯示判斷結(jié)果(真或假)參考代碼:defhuiwen(str):str=list(str)str1=strstr1.reverse()ifstr1==str:returnTrueelse:returnFalsedefhuiwen2(a,b):ifhuiwen(a)andhuiwen(b):returnTrueelse:returnFalsestring1=input("請(qǐng)輸入第一個(gè)字符串:")string2=input("請(qǐng)輸入第二個(gè)字符串:")huiwen2(string1,string2)如下代碼輸出什么?給出解釋。defdeff(a,b=2):passf(a=3,b=4)printa,b答:報(bào)錯(cuò)。原因:此處形參a,b一經(jīng)脫離函數(shù)模塊,則不起作用。實(shí)參和形參的區(qū)別是什么?答:形參——定義函數(shù)時(shí)使用的參數(shù),形式上的參數(shù),沒(méi)有實(shí)際的值,賦值后才有意義。實(shí)參——調(diào)用函數(shù)時(shí)使用的參數(shù),是實(shí)際存在的參數(shù)。創(chuàng)建函數(shù),參數(shù)是字符串,并以相反的順序返回字符串(例如字符串“robot”傳入函數(shù),返回“tobor”)。參考代碼:defrev(str):returnstr[::-1]rev("robot")第七章習(xí)題練習(xí)1、下列Python的類型中,非有序類型是(A)。 A.字典 B.列表 C.元組 D.字符串2、下列關(guān)于字典對(duì)象方法的描述,不正確的是(D)。 A.方法get()可以獲取指定“鍵”對(duì)應(yīng)的“值”,并且可以在指定“鍵”不存在時(shí)返 回指定值,如果不指定則返回None B.方法items()返回字典中的“鍵值對(duì)”列表 C.方法keys()返回字典的“鍵”列表 D.“字典[鍵]”的表達(dá)式(例如dict[’name’])的結(jié)果與方法get()的結(jié)果完全相同3、以下說(shuō)法正確的是(C)。 A.values()方法將字典中的值以可迭代的dict對(duì)象返回 B.del命令不能刪除整個(gè)字典 C.在字典中,某個(gè)鍵相關(guān)聯(lián)的值可以通過(guò)賦值語(yǔ)句來(lái)修改,如果指定的鍵不存在,則 會(huì)添加新的鍵值對(duì)D.update()方法將另一個(gè)字典中的所有鍵值對(duì)一次性地添加到當(dāng)前字典中,如果兩個(gè)字典中存在有相同的鍵,則會(huì)出錯(cuò)4、若dic1={‘甲’:{‘乙’:1,‘丙’:5}},執(zhí)行print(dic1.get(‘乙’,‘未找到’))的結(jié)果是(A)。 A.未找到 B.1 C.報(bào)錯(cuò) D.輸出空值5、若字典aDict={“張三”:18,“李四”:19,“王五”:20},則aDict.get(“趙六”,25)的值為(C)。 A.18 B.無(wú)返回值 C.25 D.NULL第八章習(xí)題答案1、當(dāng)前目錄下有一個(gè)文本文件xt1.txt,其內(nèi)容包含小寫(xiě)字母和大寫(xiě)字母。請(qǐng)將該文件復(fù)制到另一文件xt1_copy.txt,并將原文件中的小寫(xiě)字母全部轉(zhuǎn)換為大寫(xiě)字母,其余格式均不變。參考代碼:file1=open("c:\\xt1.txt")x=file1.readlines()file2=open("c:\\xt1_copy.txt",'w')foriinx:file2.write(i.upper())file1.close()file2.close()2、有兩個(gè)磁盤文件A和B,各存放一行字母,要求把這兩個(gè)文件中的信息合并(按字母順序排列),輸出到一個(gè)新文件C中。參考代碼:file1=open("c:\\A.txt","r")x=file1.readlines()file2=open("c:\\B.txt","r")y=file2.readlines()file3=open("c:\\C.txt","a")foriinx:file3.write(i)foriiny:file3.write(i)file1.close()file2.close()file3.close()3、文件打開(kāi)模式中,使用a模式,文件指針指向(B)。 A.文件頭 B.文件尾 C.文件隨機(jī)位置 D.空4、若要進(jìn)行二進(jìn)制格式的文件讀寫(xiě)操作應(yīng)該選擇下列(A)文件打開(kāi)方式。 A.rb B.r+ C.rb+ D.w5、下面代碼對(duì)文本文件text.txt操作后,變量a的數(shù)據(jù)類型是(A)。 MyFile=open("text,txt","r") a=MyFile.readline() A.字符串 B.列表 C.元組 D.字典6、以下代碼執(zhí)行后,a.txt文件的內(nèi)容是(D)。 f=open("a.txt","w") ls=["test","12","201910","20"] forssinls: f.write(ss) f.close() A.報(bào)錯(cuò) B.["test","12","201910","20"] C.test,12,201910,20 D.test12201910207、下列說(shuō)法錯(cuò)誤的是(A)。A.文件對(duì)象的內(nèi)置方法f.readlines()可實(shí)現(xiàn)讀取一個(gè)文件中的所有行,并將其作為一個(gè)元組返回。每一行的信息作為元組中的一個(gè)字符串元素B.利用read()方法可讀取文件中指定長(zhǎng)度的字符,若括號(hào)中無(wú)數(shù)字,則直接讀取文件中所有的字符;若提供數(shù)字,則一次讀取指定數(shù)量字節(jié)的字符C.文件對(duì)象的內(nèi)置方法readline()可實(shí)現(xiàn)逐行讀取字符,若括號(hào)中無(wú)數(shù)字,則默認(rèn)讀取一行;若括號(hào)中有數(shù)字,則讀取這一行中對(duì)應(yīng)數(shù)量的字符(如果該數(shù)字大于這一行的字符數(shù),則讀取這一行所有字符)D.建立文件對(duì)象f之后,可通過(guò)調(diào)用其內(nèi)置方法seek()移動(dòng)指針的位置第九章習(xí)題答案略第十章習(xí)題答案1、下列語(yǔ)句可以用來(lái)查看df列名的是(A)。 A.df.columns B.df.values C.df.describe() D.df.index2、DataFrame判斷重復(fù)值可以采用以下(C)語(yǔ)句。 A.df.drop_duplicates() B.df.repeat() C.df.duplicated() D.df.dropna()3、執(zhí)行下述程序后,最終輸出的結(jié)果為(D)。 importpandasaspd Data=pd.DataFrame([[2,3],]*3,columns=[‘A’,’B’]) B=Data.apply(lambdax:x+1) print(B.loc[1,’B’]) A.3 B.1 C.2 D.44、使用Numpy庫(kù),創(chuàng)建一個(gè)5×5的隨機(jī)數(shù)矩陣,打印其中的最大值與最小值。5、使用Numpy庫(kù),創(chuàng)建一個(gè)長(zhǎng)度為10的一維全為0的ndarray對(duì)象,然后讓第8

溫馨提示

  • 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)論