2025年沈師python期末考試題庫(kù)及答案_第1頁(yè)
2025年沈師python期末考試題庫(kù)及答案_第2頁(yè)
2025年沈師python期末考試題庫(kù)及答案_第3頁(yè)
2025年沈師python期末考試題庫(kù)及答案_第4頁(yè)
2025年沈師python期末考試題庫(kù)及答案_第5頁(yè)
已閱讀5頁(yè),還剩13頁(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)介

2025年沈師python期末考試題庫(kù)及答案一、單項(xiàng)選擇題(每題2分,共40分)1.以下哪個(gè)選項(xiàng)符合Python變量命名規(guī)范?A.2025_shenshiB.shen@shiC.ShenShi_2025D.for答案:C(變量名不能以數(shù)字開頭,不能包含特殊符號(hào)@,不能是關(guān)鍵字for)2.執(zhí)行`a=[1,2,3];b=a;a.append(4);print(b)`后,輸出結(jié)果是?A.[1,2,3]B.[1,2,3,4]C.報(bào)錯(cuò)D.[4]答案:B(列表是可變對(duì)象,b和a指向同一內(nèi)存地址,a修改后b同步變化)3.關(guān)于Python函數(shù)參數(shù),以下說(shuō)法錯(cuò)誤的是?A.位置參數(shù)必須在關(guān)鍵字參數(shù)之前B.默認(rèn)參數(shù)必須放在非默認(rèn)參數(shù)之后C.args用于接收任意數(shù)量的位置參數(shù)D.kwargs用于接收任意數(shù)量的位置參數(shù)答案:D(kwargs接收鍵值對(duì)形式的關(guān)鍵字參數(shù))4.執(zhí)行`print(32+4%3)`的結(jié)果是?A.9B.10C.7D.8答案:B(32=9,4%3=1,9+1=10)5.以下代碼的輸出結(jié)果是?```pythons="沈師Python"print(s[1:-1])```A."師Pytho"B."師Python"C."師Pyth"D."沈師Pytho"答案:A(索引1到倒數(shù)第二個(gè)字符,即s[1]到s[-2],"師Pytho")6.關(guān)于字典的描述,正確的是?A.字典的鍵可以是列表類型B.字典的鍵必須是不可變類型C.字典的元素是有序的(Python3.7以下)D.`dict1={}`創(chuàng)建空字典,`dict2=dict()`創(chuàng)建空列表答案:B(鍵必須是不可變類型如字符串、數(shù)字、元組;Python3.7及以上字典有序;dict()創(chuàng)建空字典)7.執(zhí)行`x=1;whilex<5:ifx%2==0:break;x+=1;print(x)`后,輸出是?A.1B.2C.3D.5答案:B(x=1時(shí),不滿足if條件,x變?yōu)?;x=2時(shí),滿足if條件,break退出循環(huán),print(2))8.以下哪個(gè)表達(dá)式可以提供0到9的整數(shù)列表?A.list(range(10))B.list(range(0,9))C.[iforiinrange(9)]D.(iforiinrange(10))答案:A(range(10)提供0-9,轉(zhuǎn)換為列表正確;B提供0-8,C同理,D是提供器)9.定義類時(shí),`__init__`方法的作用是?A.定義類的方法B.類的構(gòu)造方法,初始化對(duì)象屬性C.定義類的私有屬性D.實(shí)現(xiàn)繼承答案:B(__init__是構(gòu)造方法,用于初始化實(shí)例對(duì)象的屬性)10.執(zhí)行`try:x=1/0;exceptValueError:print("值錯(cuò)誤");else:print("正常");finally:print("結(jié)束")`,輸出順序是?A.值錯(cuò)誤結(jié)束B.結(jié)束C.正常結(jié)束D.錯(cuò)誤未被捕獲,先輸出錯(cuò)誤信息,再輸出結(jié)束答案:D(除零錯(cuò)誤是ZeroDivisionError,未被ValueError捕獲,程序拋出異常,但finally塊仍會(huì)執(zhí)行)11.以下代碼的輸出結(jié)果是?```pythondeffunc(a,b=2):returnabprint(func(3,5))```A.6B.15C.5D.3答案:B(位置參數(shù)覆蓋默認(rèn)參數(shù),35=15)12.關(guān)于文件操作,`open("data.txt","a")`的作用是?A.只讀模式打開,文件不存在時(shí)報(bào)錯(cuò)B.寫入模式打開,覆蓋原有內(nèi)容C.追加模式打開,文件不存在時(shí)創(chuàng)建D.二進(jìn)制讀模式打開答案:C("a"是追加模式,文件不存在則創(chuàng)建,寫入內(nèi)容追加到末尾)13.執(zhí)行`a={1,2,3};b={2,3,4};print(ab)`的結(jié)果是?A.{1}B.{4}C.{1,4}D.{2,3}答案:A(集合差集a-b返回a有但b沒(méi)有的元素)14.以下代碼的輸出結(jié)果是?```pythondefouter():x=10definner():nonlocalxx=20inner()print(x)outer()```A.10B.20C.報(bào)錯(cuò)D.1020答案:B(nonlocal聲明x為外層函數(shù)變量,inner修改后outer中的x變?yōu)?0)15.提供器表達(dá)式`(i2foriinrange(3))`的輸出元素是?A.0,1,4B.1,4,9C.0,1,2D.0,1,8答案:A(range(3)是0,1,2,平方后為0,1,4)16.以下代碼的輸出結(jié)果是?```pythonclassA:def__init__(self,x):self.x=xclassB(A):def__init__(self,x,y):super().__init__(x)self.y=yobj=B(10,20)print(obj.x,obj.y)```A.1020B.2010C.報(bào)錯(cuò)D.1010答案:A(子類B通過(guò)super()調(diào)用父類A的構(gòu)造方法,初始化x和y)17.執(zhí)行`importmath;print(math.floor(3.9))`的結(jié)果是?A.3B.4C.3.0D.4.0答案:A(math.floor返回不大于參數(shù)的最大整數(shù))18.以下哪個(gè)方法可以將字符串"2025"轉(zhuǎn)換為整數(shù)?A.int("2025")B.str(2025)C.float("2025")D.list("2025")答案:A(int()函數(shù)將符合整數(shù)格式的字符串轉(zhuǎn)換為整數(shù))19.執(zhí)行`a=[1,3,2];a.sort(reverse=True);print(a)`的結(jié)果是?A.[1,2,3]B.[3,2,1]C.[1,3,2]D.[2,3,1]答案:B(sort(reverse=True)降序排序,原列表變?yōu)閇3,2,1])20.以下代碼的輸出結(jié)果是?```pythons="hello"print(s.find("ll"))```A.2B.3C.-1D.1答案:A(find()返回子串首次出現(xiàn)的起始索引,"ll"在索引2開始)二、填空題(每題3分,共30分)1.Python中用于異常處理的兩個(gè)關(guān)鍵語(yǔ)句是`try`和______。答案:except2.列表`lst=[1,2,3]`,使用列表推導(dǎo)式提供`[2,4,6]`的表達(dá)式是______。答案:[x2forxinlst]3.字典`d={"name":"張三","score":85}`,獲取"score"對(duì)應(yīng)值的兩種方式是`d["score"]`和______。答案:d.get("score")4.執(zhí)行`a=(1,2,3);a[0]=0`會(huì)報(bào)錯(cuò),因?yàn)樵M的______特性。答案:不可變(或不可修改)5.函數(shù)`defadd(args):returnsum(args)`調(diào)用`add(1,2,3)`的返回值是______。答案:66.字符串`"abba"`的逆序輸出可以用切片表示為______。答案:"abba"[::-1](或s[::-1],假設(shè)s是該字符串)7.定義提供器函數(shù)時(shí),使用______關(guān)鍵字代替`return`。答案:yield8.要將字符串`"2025-06-15"`按"-"分割為列表,應(yīng)使用的方法是______。答案:split("-")9.類的實(shí)例方法中,第一個(gè)參數(shù)通常命名為______,代表實(shí)例本身。答案:self10.執(zhí)行`x=5;y=x;x=10;print(y)`的輸出結(jié)果是______。答案:5(賦值后y指向5的內(nèi)存地址,x修改不影響y)三、編程題(共30分)1.(8分)編寫程序,統(tǒng)計(jì)用戶輸入的字符串中大寫字母、小寫字母、數(shù)字的個(gè)數(shù)。要求:用戶輸入通過(guò)`input()`函數(shù)獲取,輸出格式為"大寫字母:X,小寫字母:Y,數(shù)字:Z"。參考代碼:```pythons=input("請(qǐng)輸入字符串:")upper=lower=digit=0forcharins:ifchar.isupper():upper+=1elifchar.islower():lower+=1elifchar.isdigit():digit+=1print(f"大寫字母:{upper},小寫字母:{lower},數(shù)字:{digit}")```2.(10分)定義一個(gè)名為`Student`的類,要求包含以下功能:初始化方法:接收姓名(name)、年齡(age)、成績(jī)(score)三個(gè)參數(shù),初始化實(shí)例屬性;方法`get_info()`:返回字典形式的學(xué)生信息,格式為`{"name":姓名,"age":年齡,"score":成績(jī)}`;方法`update_score(new_score)`:修改學(xué)提供績(jī)?yōu)閌new_score`;創(chuàng)建一個(gè)實(shí)例對(duì)象,姓名"李華",年齡20,成績(jī)85,調(diào)用`get_info()`輸出信息,再將成績(jī)修改為90,再次調(diào)用`get_info()`輸出。參考代碼:```pythonclassStudent:def__init__(self,name,age,score):=nameself.age=ageself.score=scoredefget_info(self):return{"name":,"age":self.age,"score":self.score}defupdate_score(self,new_score):self.score=new_score創(chuàng)建實(shí)例并測(cè)試stu=Student("李華",20,85)print("修改前:",stu.get_info())stu.update_score(90)print("修改后:",stu.get_info())```3.(12分)某班級(jí)保存了學(xué)提供績(jī)數(shù)據(jù)在`scores.txt`文件中(每行格式為"姓名,數(shù)學(xué),英語(yǔ),計(jì)算機(jī)",如"張三,85,78,92"),要求:讀取文件中的所有數(shù)據(jù);計(jì)算每個(gè)學(xué)生的總分(三科成績(jī)之和);將結(jié)果寫入新文件`total_scores.txt`,每行格式為"姓名,總分"(如"張三,255");處理文件不存在的異常,若異常發(fā)生則輸出"文件未找到"。參考代碼:```pythontry:withopen("scores.txt","r",encoding="utf-8")asf:lines=f.readlines()total_scores=[]forlineinlines:line=line.strip()ifnotline:continueparts=line.split(",")iflen(parts)!=4:continue跳過(guò)格式錯(cuò)誤的行name=parts[0]try:math=int(parts[1])english=int(parts[2])computer=int(parts[3])total=math+english

溫馨提示

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