2025年大一python語(yǔ)言期末考試題及答案_第1頁(yè)
2025年大一python語(yǔ)言期末考試題及答案_第2頁(yè)
2025年大一python語(yǔ)言期末考試題及答案_第3頁(yè)
2025年大一python語(yǔ)言期末考試題及答案_第4頁(yè)
2025年大一python語(yǔ)言期末考試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

2025年大一python語(yǔ)言期末考試題及答案一、單項(xiàng)選擇題(每題2分,共20分)1.以下Python變量名中,符合命名規(guī)則的是()A.2varB.var-2C._var2D.class2.執(zhí)行`print(type(3.14+5j))`的輸出結(jié)果是()A.`<class'float'>`B.`<class'complex'>`C.`<class'int'>`D.`<class'str'>`3.已知`a=[1,2,3]`,`b=a`,執(zhí)行`a.append(4)`后,`b`的值是()A.`[1,2,3]`B.`[1,2,3,4]`C.`[4]`D.報(bào)錯(cuò)4.執(zhí)行`print('ab'3)`的輸出結(jié)果是()A.`ab3`B.`ababab`C.`['a','b']3`D.報(bào)錯(cuò)5.對(duì)于循環(huán)`foriinrange(5,0,-2)`,循環(huán)體執(zhí)行的次數(shù)是()A.0次B.1次C.2次D.3次6.定義函數(shù)`deffunc(a,b=2):returna+b`,調(diào)用`func(3)`的返回值是()A.3B.5C.2D.報(bào)錯(cuò)7.已知`d={'a':1,'b':2}`,執(zhí)行`d['c']=3`后,`d`的內(nèi)容是()A.`{'a':1,'b':2}`B.`{'c':3}`C.`{'a':1,'b':2,'c':3}`D.報(bào)錯(cuò)8.以下代碼的輸出結(jié)果是()```pythons='hello'print(s[1:-1])```A.`'h'`B.`'ell'`C.`'ello'`D.`'ell'`9.執(zhí)行`try:x=1/0exceptZeroDivisionError:x=0`后,`x`的值是()A.1B.0C.報(bào)錯(cuò)D.無(wú)窮大10.以下能提供列表`[1,4,9,16]`的列表推導(dǎo)式是()A.`[x2forxinrange(1,5)]`B.`[x2forxinrange(1,5)]`C.`[x2forxinrange(4)]`D.`[x+1forxinrange(4)]`二、填空題(每空2分,共20分)1.若`x=3`,`y=2`,則`xy+x%y`的計(jì)算結(jié)果是()。2.執(zhí)行`a=[1,2,3]`,`a.insert(1,0)`后,`a`的值為()。3.補(bǔ)全代碼,使輸出100以內(nèi)能被3整除的數(shù):```pythonforiinrange(1,101):if():continueprint(i)```4.定義一個(gè)函數(shù)`sum_even`,計(jì)算1到n之間所有偶數(shù)的和(包含n),函數(shù)頭部應(yīng)為()。5.已知`d={'數(shù)學(xué)':90,'英語(yǔ)':85}`,要獲取`'英語(yǔ)'`對(duì)應(yīng)的分?jǐn)?shù),應(yīng)使用()。6.執(zhí)行`f=open('test.txt','w')`后,`f`對(duì)象的默認(rèn)編碼是()(假設(shè)系統(tǒng)默認(rèn)編碼為utf-8)。7.異常處理中,`finally`子句的作用是()。8.執(zhí)行`lst=[iforiin'abc'ifi!='a']`后,`lst`的值是()。9.若`x=(1,2,3)`,則`x[1]`的值是(),`x.append(4)`會(huì)()(填“成功”或“報(bào)錯(cuò)”)。10.執(zhí)行`print(len('\\n\\tpython\\'))`的輸出結(jié)果是()。三、程序分析題(每題8分,共24分)1.分析以下代碼的輸出結(jié)果,并說(shuō)明原因:```pythona=10deffunc():globalaa=20print(a,end='')func()print(a)```2.寫出以下代碼的執(zhí)行結(jié)果:```pythons='abac'count={}forcharins:count[char]=count.get(char,0)+1print(count)```3.分析以下代碼的功能,并寫出輸出結(jié)果:```pythondeffib(n):a,b=0,1for_inrange(n):print(a,end='')a,b=b,a+bfib(5)```四、編程題(共36分)1.(10分)編寫程序:輸入一個(gè)整數(shù)n(n≥1),輸出1到n中所有能被3整除但不能被5整除的數(shù)的和。2.(12分)編寫函數(shù)`count_words(filename)`,功能如下:讀取指定文本文件(假設(shè)文件內(nèi)容為英文);統(tǒng)計(jì)文件中每個(gè)單詞的出現(xiàn)次數(shù)(不區(qū)分大小寫,忽略標(biāo)點(diǎn)符號(hào),標(biāo)點(diǎn)符號(hào)定義為`,.!?;:`);返回一個(gè)按單詞出現(xiàn)次數(shù)降序排列的字典,次數(shù)相同則按單詞升序排列。3.(14分)定義一個(gè)類`Student`,滿足以下要求:類屬性:`total`(記錄學(xué)生總?cè)藬?shù),初始為0);實(shí)例屬性:`name`(姓名)、`age`(年齡)、`scores`(成績(jī)字典,鍵為科目,值為分?jǐn)?shù));實(shí)例方法`add_score(subject,score)`:添加或修改某科成績(jī);實(shí)例方法`get_average()`:返回該學(xué)生所有科目的平均成績(jī)(保留2位小數(shù));類方法`get_total()`:返回學(xué)生總?cè)藬?shù);創(chuàng)建2個(gè)`Student`實(shí)例,分別添加成績(jī)后,輸出其中平均成績(jī)較高的學(xué)生姓名及平均分。答案一、單項(xiàng)選擇題1-5:CBBBC6-10:BCDBA二、填空題1.9(32+3%2=9+1=10?不,3%2是1,32是9,9+1=10?原題計(jì)算式是xy+x%y,x=3,y=2,32=9,3%2=1,9+1=10,所以答案應(yīng)為10)(更正:原計(jì)算錯(cuò)誤,正確結(jié)果為10)2.`[1,0,2,3]`3.`i%3!=0`4.`defsum_even(n):`5.`d['英語(yǔ)']`或`d.get('英語(yǔ)')`6.`utf-8`7.無(wú)論是否發(fā)生異常都會(huì)執(zhí)行的代碼塊8.`['b','c']`9.2;報(bào)錯(cuò)10.8(轉(zhuǎn)義字符`\n`和`\t`各占1位,`python`占6位,最后的`\`是轉(zhuǎn)義,實(shí)際字符為`\`,共1+1+6+1=9?原字符串是`'\\n\\tpython\\'`,轉(zhuǎn)義后是`\n\tpython\`,其中`\n`是1字符,`\t`是1字符,`python`是6字符,最后的`\`是1字符,總長(zhǎng)度1+1+6+1=9)(更正:原答案錯(cuò)誤,正確結(jié)果為9)三、程序分析題1.輸出結(jié)果:2020原因:函數(shù)內(nèi)部使用`global`聲明`a`為全局變量,修改`a`的值為20,函數(shù)內(nèi)打印20,函數(shù)外打印全局變量`a`的新值20。2.執(zhí)行結(jié)果:`{'a':2,'b':1,'c':1}`原因:遍歷字符串`s`,使用`get`方法統(tǒng)計(jì)每個(gè)字符的出現(xiàn)次數(shù)(初始為0,每次加1),最終`'a'`出現(xiàn)2次,`'b'`和`'c'`各出現(xiàn)1次。3.功能:輸出斐波那契數(shù)列的前n項(xiàng)(從0開始)。輸出結(jié)果:01123四、編程題1.參考代碼:```pythonn=int(input("請(qǐng)輸入整數(shù)n:"))total=0foriinrange(1,n+1):ifi%3==0andi%5!=0:total+=iprint(f"符合條件的數(shù)的和為:{total}")```2.參考代碼:```pythonimportstringdefcount_words(filename):定義標(biāo)點(diǎn)符號(hào)集合punctuation=set(',.!?;:"\'')word_count={}try:withopen(filename,'r',encoding='utf-8')asf:forlineinf:轉(zhuǎn)換為小寫,去除標(biāo)點(diǎn)line=line.lower()forcharinpunctuation:line=line.replace(char,'')分割單詞并統(tǒng)計(jì)words=line.split()forwordinwords:word_count[word]=word_count.get(word,0)+1排序:先按次數(shù)降序,再按單詞升序sorted_items=sorted(word_count.items(),key=lambdax:(-x[1],x[0]))returndict(sorted_items)exceptFileNotFoundError:print(f"錯(cuò)誤:文件{filename}未找到")return{}```3.參考代碼:```pythonclassStudent:total=0類屬性,記錄總?cè)藬?shù)def__init__(self,name,age):=nameself.age=ageself.scores={}成績(jī)字典Student.total+=1實(shí)例化時(shí)總?cè)藬?shù)加1defadd_score(self,subject,score):self.scores[subject]=scoredefget_average(self):ifnotself.scores:return0.00total=sum(self.scores.values())returnround(total/len(self.scores),2)@classmethoddefget_total(cls):returncls.total創(chuàng)建實(shí)例并測(cè)試s1=Student("張三",20)s1.add_score("數(shù)學(xué)",85)s1.add_score("英語(yǔ)",92)s1.add_score("Python",90)s2=Stud

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論