




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2025年P(guān)ython二級(jí)考試沖刺押題試卷:實(shí)戰(zhàn)案例實(shí)戰(zhàn)考試時(shí)間:______分鐘總分:______分姓名:______一、請定義一個(gè)Python類`Book`,包含私有實(shí)例屬性`_title`和`_author`,以及公有實(shí)例屬性`year_published`。在類中提供構(gòu)造方法`__init__`,用于初始化這些屬性。提供公有方法`get_title()`返回書名,`get_author()`返回作者。提供公有方法`set_title(new_title)`和`set_author(new_author)`用于修改書名和作者,修改時(shí)需進(jìn)行簡單的非空校驗(yàn)(非空且不是僅包含空白字符的字符串)。編寫代碼創(chuàng)建一個(gè)`Book`對象,設(shè)置其屬性,并分別調(diào)用`get_title()`,`get_author()`方法打印信息。二、請使用Python的`os`庫相關(guān)功能,編寫代碼完成以下任務(wù):1.創(chuàng)建一個(gè)名為`test_folder`的新目錄(如果該目錄不存在)。2.在`test_folder`目錄下創(chuàng)建兩個(gè)子目錄`sub_folder1`和`sub_folder2`。3.在`test_folder`目錄下創(chuàng)建一個(gè)名為`example.txt`的文本文件,并向文件中寫入內(nèi)容`"Hello,Python!"`。4.將`example.txt`文件移動(dòng)到`sub_folder1`目錄下。5.列出`test_folder`目錄下所有文件和目錄的名稱。6.刪除`sub_folder2`目錄(確保該目錄為空)。三、請使用Python的`datetime`庫,編寫代碼完成以下任務(wù):1.獲取當(dāng)前日期和時(shí)間。2.將上述日期時(shí)間格式化為字符串,格式為`"YYYY-MM-DDHH:MM:SS"`。3.計(jì)算100天后的日期。4.計(jì)算2023年12月31日與當(dāng)前日期之間的時(shí)間差(以天為單位)。四、請使用Python的`json`庫,編寫代碼完成以下任務(wù):假設(shè)有一個(gè)JSON字符串如下:```json{"name":"Alice","age":30,"address":{"city":"Beijing","district":"Haidian"},"phone_numbers":[,]}```1.將上述JSON字符串解析為Python字典。2.從解析后的字典中提取Alice的年齡和城市。3.將Alice的年齡增加5歲,并將城市改為`"Shanghai"`。4.將修改后的字典(僅包含Alice的信息)轉(zhuǎn)換回JSON字符串。五、請使用Python的`re`庫,編寫代碼完成以下任務(wù):假設(shè)有一個(gè)包含多行文本的字符串`text`:```OrderID:12345CustomerName:JohnDoeEmail:john.doe@Phone:138-0000-0000Website:```請使用正則表達(dá)式從該文本中提取以下信息:1.訂單號(hào)(OrderID后的數(shù)字)。2.客戶姓名(CustomerName后的文本)。3.郵箱地址。六、編寫一個(gè)Python函數(shù)`calculate_statistics(numbers)`,該函數(shù)接收一個(gè)包含數(shù)字的列表`numbers`作為參數(shù)。函數(shù)需要完成以下任務(wù):1.計(jì)算列表中所有數(shù)字的平均值。2.計(jì)算列表中所有數(shù)字的標(biāo)準(zhǔn)差(使用平方根公式)。3.返回一個(gè)包含平均值和標(biāo)準(zhǔn)差的元組。七、假設(shè)有一個(gè)文本文件`data.txt`,其內(nèi)容如下(每行包含一個(gè)整數(shù)):```1025153045```請編寫Python代碼完成以下任務(wù):1.打開`data.txt`文件進(jìn)行讀取。2.逐行讀取文件內(nèi)容,并將每個(gè)整數(shù)累加。3.計(jì)算讀取到的所有整數(shù)的總和,并將結(jié)果打印出來。4.關(guān)閉文件。試卷答案一、```pythonclassBook:def__init__(self,title,author,year_published):self._title=titleself._author=authorself.year_published=year_publisheddefget_title(self):returnself._titledefget_author(self):returnself._authordefset_title(self,new_title):ifnew_titleandnew_title.strip():self._title=new_titledefset_author(self,new_author):ifnew_authorandnew_author.strip():self._author=new_author#示例代碼book=Book("PythonProgramming","TechAuthor",2023)print(book.get_title())#輸出:PythonProgrammingprint(book.get_author())#輸出:TechAuthorbook.set_title("AdvancedPython")book.set_author("SeniorTechAuthor")print(book.get_title())#輸出:AdvancedPythonprint(book.get_author())#輸出:SeniorTechAuthor```解析:定義類時(shí)使用`classBook:`。私有屬性用單下劃線`_title`,`_author`表示。構(gòu)造方法`__init__`初始化屬性。公有方法使用`def`定義,`get_title`/`get_author`返回屬性值,`set_title`/`set_author`在設(shè)置前進(jìn)行非空校驗(yàn)(檢查字符串非空且去除首尾空白后非空)。創(chuàng)建對象并調(diào)用方法驗(yàn)證功能。二、```pythonimportos#1.創(chuàng)建目錄folder_name="test_folder"ifnotos.path.exists(folder_name):os.makedirs(folder_name)#2.創(chuàng)建子目錄sub_folder1=os.path.join(folder_name,"sub_folder1")sub_folder2=os.path.join(folder_name,"sub_folder2")ifnotos.path.exists(sub_folder1):os.makedirs(sub_folder1)ifnotos.path.exists(sub_folder2):os.makedirs(sub_folder2)#3.創(chuàng)建文件并寫入file_path=os.path.join(folder_name,"example.txt")withopen(file_path,'w')asfile:file.write("Hello,Python!")#4.移動(dòng)文件destination_path=os.path.join(sub_folder1,"example.txt")os.rename(file_path,destination_path)#5.列出目錄內(nèi)容foriteminos.listdir(folder_name):item_path=os.path.join(folder_name,item)print(item)#6.刪除子目錄#需要先清空子目錄os.rmdir(sub_folder2)#如果為空可以直接刪除#或者os.rmdir(sub_folder2)#需要先確保為空#或者使用os.removedirs(sub_folder2)#遞歸刪除空目錄```解析:使用`os.path.exists`檢查目錄是否存在。使用`os.makedirs`創(chuàng)建目錄(可遞歸創(chuàng)建)。使用`os.path.join`處理路徑。使用`open`(配合`with`語句)和`write`創(chuàng)建并寫入文件。使用`os.rename`移動(dòng)文件。使用`os.listdir`列出目錄內(nèi)容。使用`os.rmdir`或`os.removedirs`刪除空目錄。三、```pythonimportdatetime#1.獲取當(dāng)前日期時(shí)間now=datetime.datetime.now()#2.格式化為字符串formatted_now=now.strftime("%Y-%m-%d%H:%M:%S")print(formatted_now)#3.計(jì)算100天后one_hundred_days_later=now+datetime.timedelta(days=100)print(one_hundred_days_later)#4.計(jì)算時(shí)間差end_date=datetime.datetime(2023,12,31)time_difference=end_date-nowdays_difference=time_difference.daysprint(days_difference)```解析:使用`datetime.datetime.now()`獲取當(dāng)前時(shí)間。使用`strftime`方法按指定格式(`%Y-%m-%d%H:%M:%S`)格式化為字符串。使用`datetime.timedelta(days=100)`表示時(shí)間間隔,加到當(dāng)前時(shí)間得到未來日期。使用減法得到時(shí)間差`timedelta`對象,其`days`屬性表示天數(shù)。四、```pythonimportjson#JSON字符串json_str='''{"name":"Alice","age":30,"address":{"city":"Beijing","district":"Haidian"},"phone_numbers":[,]}'''#1.解析為字典data_dict=json.loads(json_str)#2.提取信息age=data_dict['age']city=data_dict['address']['city']print(age)#輸出:30print(city)#輸出:Beijing#3.修改信息data_dict['age']=age+5data_dict['address']['city']="Shanghai"#4.轉(zhuǎn)換回JSON字符串modified_json_str=json.dumps(data_dict,indent=4)print(modified_json_str)```解析:使用`json.loads()`將JSON字符串解析為Python字典。通過鍵訪問字典中的值(如`data_dict['age']`)。修改字典時(shí)直接賦值。使用`json.dumps()`將字典轉(zhuǎn)換回JSON字符串,`indent=4`參數(shù)使輸出格式化。五、```pythonimportretext="""OrderID:12345CustomerName:JohnDoeEmail:john.doe@Phone:138-0000-0000Website:"""#1.提取訂單號(hào)order_id_match=re.search(r"OrderID:(\d+)",text)order_id=order_id_match.group(1)iforder_id_matchelseNoneprint(order_id)#輸出:12345#2.提取客戶姓名name_match=re.search(r"CustomerName:(.+)",text)name=name_match.group(1)ifname_matchelseNoneprint(name)#輸出:JohnDoe#3.提取郵箱地址email_match=re.search(r"Email:(.+)",text)email=email_match.group(1)ifemail_matchelseNoneprint(email)#輸出:john.doe@```解析:使用`re.search(pattern,string)`在文本中搜索第一個(gè)匹配的模式。正則表達(dá)式`r"OrderID:(\d+)"`匹配訂單號(hào),`(\d+)`捕獲數(shù)字組。使用`group(1)`獲取捕獲組的內(nèi)容。類似地處理姓名和郵箱,使用相應(yīng)的正則表達(dá)式。六、```pythonimportmathdefcalculate_statistics(numbers):ifnotnumbers:return(0,0)#空列表返回(0,0)或拋出異常n=len(numbers)mean=sum(numbers)/nvariance=sum((x-mean)2forxinnumbers)/nstd_dev=math.sqrt(variance)return(mean,std_dev)#示例調(diào)用numbers=[10,25,15,30,45]result=calculate_statistics(numbers)print(result)#輸出類似:(24.0,12.909944487358805)```解析:函數(shù)接收列表`numbers`。先檢查列表是否為空。計(jì)算平均值`mean`作為`sum(numbers)/n`。計(jì)算方差`variance`作為各數(shù)值與均值差的平方和的平均
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年蕪湖前灣集團(tuán)有限公司招聘2人考前自測高頻考點(diǎn)模擬試題及答案詳解(奪冠)
- 雨中的情感漣漪抒情作文(5篇)
- 鋼結(jié)構(gòu)穩(wěn)定考試題及答案
- 2025年丙肝測試題及答案
- 2025年歷史高考熱點(diǎn)真題及答案
- 介紹一件我的收藏品寫物作文11篇
- 2025年北交所測評(píng)試題及答案
- 采購需求與供應(yīng)商評(píng)估表優(yōu)化采購流程
- 浙江省新陣地教育聯(lián)盟2026屆高三上學(xué)期第一次聯(lián)考地理試卷(含答案)
- 遼寧省普通高中點(diǎn)石聯(lián)考2026屆高三上學(xué)期10月月考地理試卷(含答案)
- 統(tǒng)編版道德與法治(2024)三年級(jí)上冊-第二單元-學(xué)科學(xué)-愛科學(xué)-第5課-《走近科學(xué)家》教學(xué)課件
- 乳品領(lǐng)域:認(rèn)養(yǎng)一頭牛企業(yè)組織架構(gòu)及部門職責(zé)
- 寵物樂園方案
- 2022智慧園區(qū)設(shè)計(jì)、建設(shè)與驗(yàn)收技術(shù)規(guī)范
- 自備車補(bǔ)貼申請表
- 信息論與編碼(第4版)完整全套課件
- 汽修廠安全風(fēng)險(xiǎn)分級(jí)管控清單
- GB/T 2679.7-2005紙板戳穿強(qiáng)度的測定
- GB/T 25840-2010規(guī)定電氣設(shè)備部件(特別是接線端子)允許溫升的導(dǎo)則
- GB/T 25146-2010工業(yè)設(shè)備化學(xué)清洗質(zhì)量驗(yàn)收規(guī)范
- 參考資深同傳
評(píng)論
0/150
提交評(píng)論