Python程序設(shè)計 各章實驗任務(wù)_第1頁
Python程序設(shè)計 各章實驗任務(wù)_第2頁
Python程序設(shè)計 各章實驗任務(wù)_第3頁
Python程序設(shè)計 各章實驗任務(wù)_第4頁
Python程序設(shè)計 各章實驗任務(wù)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python程序設(shè)計中國鐵道出版社有限公司李輝等主編2025.091/20實驗一Python程序運行方式與開發(fā)環(huán)境搭建要求:掌握Python程序的運行方式、PyCharm集成開發(fā)環(huán)境的基本操作。實驗一Python程序運行方式與開發(fā)環(huán)境搭建實驗任務(wù)書(學(xué)生版)【實驗?zāi)康摹?.掌握Python程序的三種運行方式:①交互式解釋器、②腳本文件、③IDE(PyCharm)。2.學(xué)會在Windows/macOS/Linux上安裝Python解釋器并配置環(huán)境變量。3.熟練使用PyCharm創(chuàng)建項目、文件、運行/調(diào)試程序、配置解釋器、安裝第三方庫?!緦嶒灜h(huán)境】?操作系統(tǒng):Windows10/11、macOS12+或Ubuntu20+?軟件:Python3.10+(官方安裝包)、PyCharmCommunity/Professional2023+【實驗內(nèi)容與步驟】任務(wù)A:Python解釋器安裝與驗證1.從下載對應(yīng)系統(tǒng)安裝包,安裝時勾選“AddPythontoPATH”。2.打開系統(tǒng)終端(Win→PowerShell/mac→Terminal/Linux→),執(zhí)行:python--version及pip--version,確認輸出正常。任務(wù)B:三種運行方式體驗1.交互式在終端輸入python進入REPL,逐行執(zhí)行:print("HelloPython!")2+3exit()2.腳本文件①用記事本/VSCode新建hello.py,寫入:name=input("你的名字:")print(f"Welcome,{name}!")②終端執(zhí)行:pythonhello.py3.PyCharm運行①打開PyCharm→NewProject→選擇已安裝的解釋器。②右鍵src→New→PythonFile→hello_pycharm.py,復(fù)制上方代碼。③點擊綠色?或Shift+F10運行,觀察下方Run窗口輸出。任務(wù)C:PyCharm常用操作操作快捷鍵/菜單創(chuàng)建項目File→NewProject設(shè)置解釋器File→Settings→Project:xxx→PythonInterpreter安裝庫右側(cè)Interpreter面板點擊“+”搜索并安裝,如numpy|運行當(dāng)前文件Ctrl+Shift+F10調(diào)試(斷點)點擊行號左側(cè)設(shè)斷點→Shift+F9格式化代碼Ctrl+Alt+L快速注釋Ctrl+/任務(wù)D:綜合小練習(xí)在PyCharm中完成下列要求并運行:1.新建項目lab01_env,解釋器選擇系統(tǒng)Python。2.新建calc.py,實現(xiàn)輸入半徑求圓的面積和周長。3.為calc.py設(shè)置斷點,單步調(diào)試查看變量值?!緦嶒瀳蟾嬉蟆?.截圖:系統(tǒng)終端驗證Python版本、pip版本。2.截圖:PyCharm新建項目及運行結(jié)果。3.文字總結(jié):三種運行方式的特點及適用場景(≥100字)。【考核標(biāo)準】?環(huán)境安裝成功30%?三種運行方式正確演示30%?PyCharm操作熟練度30%?實驗總結(jié)10%

實驗二Python基本語法使用要求:掌握Python程序基本結(jié)構(gòu)和各種基本數(shù)據(jù)類型的使用。實驗二Python基本語法使用實驗任務(wù)書(學(xué)生版)【實驗?zāi)康摹?.掌握Python程序的基本結(jié)構(gòu)(順序、分支、循環(huán))。2.熟練使用Python基本數(shù)據(jù)類型(int、float、bool、str、list、tuple、dict、set)。3.能夠編寫簡單交互式程序,完成輸入、處理、輸出全過程?!緦嶒灜h(huán)境】?Python3.9及以上?IDE:PyCharm/VSCode/JupyterNotebook?必裝庫:無(僅使用標(biāo)準庫)【實驗內(nèi)容與任務(wù)】任務(wù)A:變量與基本運算1.從鍵盤輸入圓的半徑r(float),計算并輸出周長與面積(保留2位小數(shù))。2.從鍵盤輸入攝氏溫度c,輸出對應(yīng)的華氏溫度f(公式:f=c*1.8+32)。任務(wù)B:字符串與列表綜合3.輸入一個英文句子(含空格),統(tǒng)計并輸出:-單詞總數(shù)-以大寫字母開頭的單詞個數(shù)-句子逆序(單詞級別逆序)4.先輸入5個整數(shù)到列表nums,再輸出其中偶數(shù)的個數(shù)及偶數(shù)和。任務(wù)C:字典與集合5.輸入若干行單詞(空行結(jié)束),使用字典統(tǒng)計每個單詞出現(xiàn)次數(shù),并輸出出現(xiàn)次數(shù)最多的單詞及其次數(shù)。6.輸入兩行字符串s1、s2,輸出兩字符串所含不同字符的交集(按字母升序排列)。任務(wù)D:分支與循環(huán)7.利用while循環(huán)實現(xiàn)簡易猜數(shù)字游戲:電腦隨機產(chǎn)生1~100整數(shù),用戶最多猜7次,每次給出“大了/小了/猜中”提示。8.利用for循環(huán)輸出九九乘法表(左上三角)。任務(wù)E:綜合應(yīng)用9.編寫“學(xué)生成績管理小系統(tǒng)”:-輸入若干學(xué)生姓名及3科成績(循環(huán)輸入,空姓名結(jié)束),存入字典{姓名:[語文,數(shù)學(xué),英語]}。-輸出平均分最高的學(xué)生姓名及平均分(保留1位小數(shù))?!緦嶒瀳蟾嬉蟆?.每個任務(wù)給出源代碼及運行截圖(或關(guān)鍵輸出)。2.總結(jié)Python基本數(shù)據(jù)類型使用心得(≥100字)?!緦嶒灴己恕?程序正確性60%?代碼規(guī)范(縮進、注釋、命名)20%?實驗總結(jié)20%實驗三程序基本流程控制要求:熟練使用if分支結(jié)構(gòu)、for循環(huán)和while循環(huán)開展應(yīng)用問題的解決。實驗三程序基本流程控制實驗任務(wù)書(學(xué)生版)【實驗?zāi)康摹?.熟練使用if/if-else/if-elif-else分支結(jié)構(gòu)解決多條件問題。2.熟練使用for-in循環(huán)、while循環(huán)及break、continue、pass語句。3.掌握循環(huán)與分支的嵌套使用,能夠編寫小型的數(shù)據(jù)過濾、統(tǒng)計和交互式游戲程序?!緦嶒灜h(huán)境】Python3.10+,IDE:PyCharm/VSCode/Jupyter?!緦嶒瀮?nèi)容與步驟】任務(wù)A:單分支/雙分支1.輸入一個整數(shù),判斷并輸出“偶數(shù)”或“奇數(shù)”。2.輸入年份,判斷并輸出“閏年”或“平年”。任務(wù)B:多分支3.輸入百分制成績,按以下規(guī)則輸出等級:[90,100]→A,[80,90)→B,[70,80)→C,[60,70)→D,[0,60)→E。任務(wù)C:for循環(huán)與列表推導(dǎo)4.輸出1~100中所有能被3或5整除的數(shù),并統(tǒng)計個數(shù)。5.利用列表推導(dǎo)式生成一個10×10乘法表矩陣(嵌套列表)。任務(wù)D:while循環(huán)6.用while實現(xiàn)1+2+…+100的累加和。7.猜數(shù)字小游戲:電腦隨機生成1~100的整數(shù),用戶最多猜7次,給出“大了/小了/猜中”提示。任務(wù)E:循環(huán)+分支綜合8.輸入若干行學(xué)生信息(姓名語文數(shù)學(xué)英語),空行結(jié)束,輸出平均分最高的學(xué)生姓名(保留1位小數(shù))。9.輸出九九乘法表(左上三角),要求使用循環(huán)嵌套+格式化對齊?!緦嶒瀳蟾嬉蟆?.每個任務(wù)粘貼源代碼及典型運行結(jié)果截圖。2.總結(jié)break/continue/pass的使用場景(≥50字)?!究己藰?biāo)準】?程序正確性60%?代碼規(guī)范20%?實驗總結(jié)20%

實驗四典型序列結(jié)構(gòu)應(yīng)用要求:熟練使用列表、元組、字典和集合的應(yīng)用。實驗四典型序列結(jié)構(gòu)應(yīng)用實驗任務(wù)書(學(xué)生版)【實驗?zāi)康摹?.熟練掌握Python列表、元組、字典、集合的創(chuàng)建、訪問、增刪改、遍歷、推導(dǎo)式等常用操作。2.能根據(jù)業(yè)務(wù)場景靈活選擇合適的數(shù)據(jù)結(jié)構(gòu),解決“增刪改查、去重、統(tǒng)計、映射”等典型問題。【實驗環(huán)境】Python3.10+,IDE:PyCharm/VSCode/Jupyter。【實驗內(nèi)容與步驟】任務(wù)A列表(List)1.用列表保存5名同學(xué)姓名,實現(xiàn):(1)在末尾追加一名新同學(xué);(2)在第2個位置插入班長姓名;(3)刪除倒數(shù)第2個同學(xué);(4)輸出最終列表。2.列表推導(dǎo):輸入整數(shù)n,生成[1,2,…,n]中所有偶數(shù)的平方組成的新列表。任務(wù)B元組(Tuple)3.用元組存儲一個點的三維坐標(biāo)(x,y,z)。編寫函數(shù)distance3d(p1,p2)計算兩點歐氏距離。測試:輸入兩點坐標(biāo)并輸出距離(保留2位小數(shù))。任務(wù)C字典(Dict)4.建立通訊錄字典contact={'張三':123,'李四':456}。實現(xiàn):(1)新增聯(lián)系人;(2)根據(jù)姓名查詢電話(查不到輸出“無此聯(lián)系人”);(3)刪除指定聯(lián)系人;(4)遍歷打印所有鍵值對。5.統(tǒng)計詞頻:輸入一段英文文本,使用字典統(tǒng)計每個單詞出現(xiàn)次數(shù),輸出出現(xiàn)次數(shù)最多的前3個單詞。任務(wù)D集合(Set)6.輸入兩行字符串,用集合求:(1)兩串中出現(xiàn)的不重復(fù)字符的交集;(2)兩串中僅在第一串出現(xiàn)的字符(差集)。7.隨機產(chǎn)生100個1~1000的整數(shù),用集合去重后輸出去重后元素個數(shù)及元素本身。任務(wù)E綜合應(yīng)用8.簡易購物車:?商品信息用字典{商品名:單價}存儲;?購物車用字典{商品名:數(shù)量}存儲;?實現(xiàn)添加、刪除、修改數(shù)量、結(jié)算總金額功能(循環(huán)操作,q退出)。【實驗報告要求】1.每任務(wù)貼源碼+關(guān)鍵運行截圖。2.總結(jié)四類序列結(jié)構(gòu)的適用場景(≥100字)?!究己藰?biāo)準】?程序正確性60%?數(shù)據(jù)結(jié)構(gòu)選擇合理性20%?代碼規(guī)范與實驗總結(jié)20%

實驗五Python函數(shù)的應(yīng)用要求:掌握函數(shù)的定義和使用、利用函數(shù)式開展編程應(yīng)用。實驗五Python函數(shù)的應(yīng)用實驗任務(wù)書(學(xué)生版)【實驗?zāi)康摹?.熟練掌握Python函數(shù)的定義、調(diào)用、參數(shù)傳遞、返回值及作用域。2.熟悉高階函數(shù)、lambda表達式、map/filter/reduce等函數(shù)式編程手段。3.能夠根據(jù)實際問題,合理拆分功能模塊,編寫可復(fù)用、可測試的函數(shù)?!緦嶒灜h(huán)境】Python3.10+,IDE:PyCharm/VSCode/Jupyter,無需額外庫(若需第三方庫,用pip安裝)。【實驗內(nèi)容與步驟】任務(wù)A函數(shù)基礎(chǔ)1.編寫函數(shù)circle_area(r)計算圓面積(π取3.1415926)。2.編寫函數(shù)max_of_three(a,b,c)返回3個數(shù)最大值。3.編寫函數(shù)is_prime(n)判斷正整數(shù)n是否為素數(shù)。任務(wù)B可變參數(shù)與默認參數(shù)4.編寫函數(shù)sum_all(*args)接受任意個整數(shù)并返回和。5.編寫函數(shù)register(name,age,city="北京")打印用戶信息,驗證默認參數(shù)行為。任務(wù)Clambda與高階函數(shù)6.用一行l(wèi)ambda表達式實現(xiàn)兩數(shù)相加,并測試。7.給定列表lst=[1,2,3,4,5],使用map與lambda計算平方列表。8.使用filter+lambda從列表[1,2,3,4,5,6,7,8,9,10]中篩選出奇數(shù)。9.使用functools.reduce計算列表lst的累乘。任務(wù)D函數(shù)式綜合案例10.編寫高階函數(shù)process_data(data,func),對列表data中的每個元素應(yīng)用func并返回結(jié)果列表。調(diào)用示例:process_data([1,2,3],lambdax:x2)[1,4,9]11.簡易日志分析器?輸入若干行形如"2024-06-0810:12:34INFOUserlogin"的日志。?提供函數(shù)filter_by_level(logs,level)返回指定級別日志列表。?提供函數(shù)count_by_date(logs)返回按日期統(tǒng)計的字典。任務(wù)E遞歸與閉包(選做)12.用遞歸函數(shù)fib(n)計算第n個斐波那契數(shù)(n≤30)。13.編寫閉包函數(shù)make_multiplier(n),返回一個函數(shù),使其返回輸入值乘以n?!緦嶒瀳蟾嬉蟆?.每任務(wù)貼源代碼及典型運行結(jié)果截圖。2.總結(jié)函數(shù)式編程(lambda、map/filter/reduce)與命令式編程的區(qū)別與適用場景(≥100字)?!究己藰?biāo)準】?功能正確性60%?函數(shù)設(shè)計(參數(shù)、返回值、命名)20%?實驗總結(jié)與代碼規(guī)范20%

實驗六面向?qū)ο蟪绦蛟O(shè)計要求:掌握類和對象的定義和使用、類的繼承使用。實驗六面向?qū)ο蟪绦蛟O(shè)計實驗任務(wù)書(學(xué)生版)【實驗?zāi)康摹?.掌握類的定義、對象的創(chuàng)建與使用、構(gòu)造方法__init__的編寫。2.理解并掌握類的繼承、方法重寫、super()的用法。3.能夠在實際問題中運用封裝、繼承、多態(tài)思想進行模塊化設(shè)計?!緦嶒灜h(huán)境】Python3.10+,IDE:PyCharm/VSCode/Jupyter,僅需標(biāo)準庫。【實驗內(nèi)容與步驟】任務(wù)A類與對象基礎(chǔ)1.設(shè)計一個Student類:?屬性:學(xué)號sid、姓名name、成績score(0~100)。?方法:-__init__初始化;-display()打印學(xué)生信息;-grade()返回成績等級A/B/C/D/E。創(chuàng)建3個學(xué)生對象并調(diào)用上述方法。任務(wù)B構(gòu)造方法與類屬性2.設(shè)計BankAccount類:?類屬性interest_rate=0.05(年利率)。?實例屬性:賬戶名、余額。?方法:-deposit(money)存款;-withdraw(money)取款(余額不足提示);-show_balance()顯示余額。演示存取款并輸出利息(余額×利率)。任務(wù)C繼承與方法重寫3.建立基類Shape:?屬性:name;?方法:area()(抽象,返回0)。派生類Rectangle(寬、高)和Circle(半徑),重寫area()。創(chuàng)建不同形狀對象,打印名稱和面積。任務(wù)Dsuper()與多層繼承4.基類Person:屬性name、age,方法introduce()。派生類Teacher:新增屬性subject,調(diào)用父類構(gòu)造方法。派生類Student:新增屬性grade。創(chuàng)建實例并輸出完整自我介紹。任務(wù)E綜合案例(選做)5.簡易圖書管理系統(tǒng):?基類Book:ISBN、書名、作者、庫存。?派生類EBook(新增格式、大小MB)和PaperBook(新增頁數(shù))。?提供借書、還書、信息顯示功能。用列表管理多本書對象,演示借還流程。【實驗報告要求】1.每任務(wù)貼出完整代碼及運行截圖。2.總結(jié)封裝、繼承、多態(tài)在實際設(shè)計中的好處(≥100字)?!究己藰?biāo)準】?功能正確性55%?面向?qū)ο笤O(shè)計合理性25%?實驗總結(jié)與代碼規(guī)范20%

實驗七Python文件操作要求:掌握文件操作和CSV文件讀取。實驗七Python文件操作實驗任務(wù)書(學(xué)生版)【實驗?zāi)康摹?.掌握文件打開、讀取、寫入、關(guān)閉等基本操作。2.掌握文本文件、二進制文件的區(qū)別及讀寫方式。3.掌握CSV文件的讀取、解析、寫入及數(shù)據(jù)轉(zhuǎn)換技巧?!緦嶒灜h(huán)境】Python3.10+、PyCharm/VSCode/Jupyter、標(biāo)準庫csv模塊?!緦嶒瀮?nèi)容與步驟】任務(wù)A:基本文件讀寫1.創(chuàng)建文本文件data.txt,寫入3行自定義內(nèi)容。2.逐行讀取并打印文件內(nèi)容;再一次性讀取整個文件內(nèi)容并打印。3.將文件追加一行“Endoffile.”。任務(wù)B:文件信息獲取4.輸入文件名,判斷文件是否存在;若存在,輸出文件大小、絕對路徑、是否可讀/可寫、是否為目錄。任務(wù)C:CSV文件操作5.寫入CSV創(chuàng)建students.csv,寫入表頭及5行學(xué)生記錄(姓名、年齡、成績)。6.讀取CSV讀取students.csv到列表,計算并輸出平均成績、最高分、最低分。7.追加CSV將一條新學(xué)生記錄追加到students.csv末尾。任務(wù)D:二進制文件8.將字符串“HelloPython”編碼為字節(jié)后寫入binary.dat;再讀取該文件并解碼輸出。任務(wù)E:綜合小項目(選做)9.簡易通訊錄管理器(CSV版)-菜單:1.新增2.查詢3.刪除4.全部列表5.退出-數(shù)據(jù)持久化到contacts.csv(姓名,電話,郵箱)。【實驗報告要求】1.每任務(wù)貼源碼+關(guān)鍵運行截圖。2.總結(jié)文本文件與CSV文件操作的注意事項(≥100字)?!究己藰?biāo)準】?功能正確性60%?代碼規(guī)范與異常處理20%?實驗總結(jié)20%

實驗八使用模塊和庫編程要求:掌握模塊的定義以及標(biāo)準庫和第三方庫的使用。實驗八使用模塊和庫編程實驗任務(wù)書(學(xué)生版)【實驗?zāi)康摹?.掌握自定義模塊的創(chuàng)建、導(dǎo)入與調(diào)用方式。2.熟悉Python標(biāo)準庫math、datetime、random、csv、json、os、sys的典型用法。3.學(xué)會使用pip安裝第三方庫,并能解決常見問題(鏡像、版本沖突)。4.通過綜合案例,體驗“庫即工具”的開發(fā)效率,養(yǎng)成閱讀官方文檔的習(xí)慣?!緦嶒灜h(huán)境】?Python3.10+?PyCharm/VSCode/JupyterNotebook?網(wǎng)絡(luò)環(huán)境(用于pip安裝第三方庫)【實驗內(nèi)容與步驟】┌──任務(wù)A:自定義模塊1.創(chuàng)建文件夾mylib,內(nèi)含:?geometry.py:實現(xiàn)circle_area(r)、rectangle_area(w,h)兩個函數(shù)。?__init__.py(空文件即可)。2.在同級目錄下新建test_geometry.py,導(dǎo)入mylib.geometry并調(diào)用兩函數(shù)。┌──任務(wù)B:標(biāo)準庫演練3.使用math庫計算任意輸入的角度(度)對應(yīng)的正弦、余弦、弧度值。4.使用datetime庫:a)獲取當(dāng)前時間并格式化輸出YYYY-MM-DDHH:MM:SS;b)計算今天距離2025-01-01還有多少天。5.使用random庫:生成1~49之間不重復(fù)的6個隨機整數(shù),模擬雙色球紅球。6.使用csv庫讀寫:a)將列表[['Alice',18],['Bob',20]]寫入students.csv;b)再讀取并打印到屏幕。7.使用json庫:a)將字典{"name":"張三","age":22,"skills":["Python","AI"]}寫入info.json;b)再讀取并轉(zhuǎn)換為Python對象。8.使用os/sys:a)打印當(dāng)前工作目錄、命令行參數(shù)列表;b)檢查某個文件是否存在,若存在則輸出絕對路徑和大小。┌──任務(wù)C:第三方庫體驗9.安裝并使用第三方庫requests:?向發(fā)起GET請求,打印返回狀態(tài)碼與JSON中的current_user_url字段。10.安裝并使用jieba:?對字符串"Python是一種跨平臺、解釋型、面向?qū)ο蟮木幊陶Z言"進行精確分詞并輸出列表。11.安裝并使用matplotlib:?隨機生成50個1~100的整數(shù),繪制直方圖并保存為hist.png。┌──任務(wù)D:綜合案例(選做)12.“天氣CLI工具”?調(diào)用第三方免費天氣API(如wttr.in或openweathermap)。?使用argparse解析城市參數(shù);使用requests獲取JSON;使用json、datetime處理數(shù)據(jù);?終端打印城市、當(dāng)前溫度、天氣狀況、風(fēng)速,并保存到weather.csv?!緦嶒瀳蟾嬉蟆?.每任務(wù)貼源代碼及關(guān)鍵運行結(jié)果截圖(含pip安裝成功提示)。2.總結(jié):?何時應(yīng)使用標(biāo)準庫VS第三方庫??如何避免第三方庫版本沖突?(≥100字)【考核標(biāo)準】?模塊/庫使用正確性50%?任務(wù)D綜合應(yīng)用(選做加分)20%?實驗總結(jié)與代碼規(guī)范30%

實驗九Numpy數(shù)值計算簡單應(yīng)用要求:Numpy數(shù)值運算和操作。實驗九Numpy數(shù)值計算簡單應(yīng)用實驗任務(wù)書(學(xué)生版)【實驗?zāi)康摹?.掌握NumPy數(shù)組(ndarray)的創(chuàng)建、索引、切片、形狀變換、廣播等基礎(chǔ)操作。2.學(xué)會使用NumPy進行向量化數(shù)學(xué)運算、統(tǒng)計函數(shù)、隨機數(shù)生成及簡單線性代數(shù)。3.能夠用NumPy解決實際“批量數(shù)值計算”問題,體會與原生Python列表的效率差異?!緦嶒灜h(huán)境】?Python3.10+?已安裝:pipinstallnumpy?IDE:PyCharm/VSCode/JupyterNotebook【實驗內(nèi)容與步驟】(以下任務(wù)均要求使用NumPy完成,禁止使用Python原生列表循環(huán))任務(wù)A數(shù)組創(chuàng)建與基本屬性1.用np.arange創(chuàng)建一維數(shù)組a=[0,1,2,…,9],輸出其形狀、維度、元素總數(shù)。2.用np.zeros和np.ones分別創(chuàng)建3×3全0和全1數(shù)組。3.用np.random.rand生成2×4的均勻隨機小數(shù)矩陣,并求其最大值、最小值、均值。任務(wù)B索引與切片4.創(chuàng)建5×5的二維數(shù)組mat=np.arange(25).reshape(5,5),輸出:(1)第2行整行;(2)第3列整列;(3)中心3×3子矩陣。5.將mat中所有偶數(shù)元素置為?1,并輸出修改后的數(shù)組。任務(wù)C廣播與運算6.創(chuàng)建兩個形狀分別為(3,1)和(1,4)的數(shù)組,演示廣播機制并輸出相加結(jié)果。7.生成兩個長度為1000的一維隨機數(shù)組x和y,計算:?逐元素平方和z=x2+y2(向量化)。?z的均值、標(biāo)準差、最大值。任務(wù)D線性代數(shù)與隨機數(shù)8.求3×3隨機整數(shù)矩陣的逆矩陣(若可逆)及行列式。9.用np.random.normal生成10000個N(2,1.52)樣本,繪制直方圖(matplotlib)。任務(wù)E綜合案例(選做)10.“批量成績分析”?從鍵盤輸入若干學(xué)生3科成績(用二維列表或CSV),轉(zhuǎn)為NumPy二維數(shù)組;?計算每科平均、每生總分、最高總分學(xué)生索引;?輸出結(jié)果并保存為analysis.npy?!緦嶒瀳蟾嬉蟆?.每任務(wù)貼源碼及關(guān)鍵輸出截圖。2.對比NumPy與原生列表在性能或代碼簡潔性上的差異(≥100字)?!究己藰?biāo)準】?功能正確性60%?NumPy向量化思維體現(xiàn)20%?實驗總結(jié)與代碼規(guī)范20%實驗十Pandas數(shù)據(jù)處理分析要求:利用Pandas對數(shù)據(jù)集進行數(shù)據(jù)處理與分析。實驗十Pandas數(shù)據(jù)處理與分析實驗任務(wù)書(學(xué)生版)【實驗?zāi)康摹?.熟練掌握Pandas兩大核心結(jié)構(gòu):Series與DataFrame的創(chuàng)建、索引、切片、增刪改查。2.學(xué)會使用Pandas完成缺失值處理、重復(fù)值處理、數(shù)據(jù)類型轉(zhuǎn)換、排序、分組聚合、合并、透視表等常用數(shù)據(jù)清洗與變換操作。3.掌握Pandas與CSV/Excel的讀寫交互,能獨立完成從原始數(shù)據(jù)到洞察結(jié)論的完整分析流程。4.體驗利用Pandas+Matplotlib/Seaborn進行快速可視化探索?!緦嶒灜h(huán)境】?Python3.10+?pipinstallpandasnumpymatplotlibseabornopenpyxlxlrd?IDE:PyCharm/VSCode/Jupyter【實驗內(nèi)容與步驟】任務(wù)A數(shù)據(jù)準備與基本認知1.創(chuàng)建DataFrame手工構(gòu)造10×4表:學(xué)生成績.csv,包含字段:學(xué)號、姓名、語文、數(shù)學(xué)、英語、班級。要求:?學(xué)號列為字符串,其余為整數(shù);?故意插入若干缺失值、重復(fù)行、異常高/低分(>100或<0)。2.讀取并查看?用pd.read_csv讀??;?輸出前5行、后3行、形狀、列名、數(shù)據(jù)類型、缺失值統(tǒng)計。任務(wù)B數(shù)據(jù)清洗3.缺失值處理a)用列均值填充語文缺失;b)用0填充數(shù)學(xué)缺失;c)刪除英語缺失的行。4.重復(fù)值與異常值?刪除完全重復(fù)行;?把超出0~100的成績置為缺失后再用中位數(shù)填充。5.類型轉(zhuǎn)換?將班級列轉(zhuǎn)成category;?將學(xué)號設(shè)為索引并排序。任務(wù)C數(shù)據(jù)變換與統(tǒng)計6.新增列?總分=語文+數(shù)學(xué)+英語,平均分=總分/3。7.分組聚合?按班級統(tǒng)計各科平均分、最高分、最低分。8.排序與篩選?輸出總分前3的學(xué)生;?輸出語文低于60分的學(xué)生列表。9.透視表?制作透視表:行索引為班級,列索引為科目,值為平均分。任務(wù)D多數(shù)據(jù)源合并10.讀取附加文件班級信息.xlsx(含班級、班主任、人數(shù)),與主表按班級左合并,檢查合并后缺失值。任務(wù)E可視化探索11.繪制?班級平均分柱狀圖;?總分分布箱線圖;?語文vs數(shù)學(xué)散點圖(顏色按班級)。12.保存結(jié)果?清洗后數(shù)據(jù)保存為學(xué)生成績_clean.csv;?透視表保存為班級成績透視.xlsx。【實驗報告要求】1.每階段貼核心代碼+關(guān)鍵輸出/圖表截圖。2.總結(jié):Pandas高效數(shù)據(jù)處理的心得與踩坑記錄(≥150字)。【考核標(biāo)準】?數(shù)據(jù)清洗完整度30%?變換與統(tǒng)計準確性30%?可視化美觀性20%?實驗總結(jié)與規(guī)范20%實驗十一Matplotlib繪制常見圖形要求:利用Matplotlib庫繪制常見圖形以及對輔助元素的設(shè)置。實驗十一Matplotlib繪制常見圖形實驗任務(wù)書(學(xué)生版)【實驗?zāi)康摹?.掌握Matplotlib繪圖基本流程(Figure→Axes→Plot→Show/Save)。2.熟練繪制折線圖、柱狀圖、餅圖、散點圖、直方圖、箱線圖等常見圖形。3.學(xué)會設(shè)置標(biāo)題、坐標(biāo)軸標(biāo)簽、刻度、圖例、網(wǎng)格、注釋、顏色、線型、字體等輔助元素。4.能夠?qū)⒍鄨D組合(子圖/雙坐標(biāo)軸)并導(dǎo)出高分辨率圖片?!緦嶒灜h(huán)境】?Python3.10+?pipinstallmatplotlibnumpypandas?IDE:Jupyter(推薦)/PyCharm/VSCode【實驗內(nèi)容與步驟】(所有圖形均需設(shè)置中文標(biāo)題、坐標(biāo)軸標(biāo)簽、圖例、網(wǎng)格,并保存為PNG)任務(wù)A折線圖1.數(shù)據(jù):2024年1–12月淘寶GMV(億元)=[120,135,150,145,160,175,180,190,200,210,220,230]。要求:?折線顏色為#1f77b4,線寬2;?標(biāo)記點樣式‘o’,大小6;?標(biāo)題“2024年月度GMV趨勢”;?保存為line_gmv.png。任務(wù)B柱狀圖2.數(shù)據(jù):某班5門課程平均成績={'語文':85,'數(shù)學(xué)':78,'英語':92,'物理':75,'化學(xué)':88}。要求:?豎向柱狀圖,柱子顏色漸變;?每根柱子上方標(biāo)注數(shù)值;?保存為bar_score.png。任務(wù)C餅圖3.數(shù)據(jù):電商平臺4類商品銷售額占比={'手機':35,'電腦':25,'家電':20,'服飾':20}。要求:?突出顯示手機扇區(qū);?百分比保留1位小數(shù);?圖例位于右側(cè);?保存為pie_sales.png。任務(wù)D散點圖4.數(shù)據(jù):隨機生成100個身高(cm)和體重(kg)。要求:?顏色映射BMI(體重/身高2);?添加colorbar;?保存為scatter_bmi.png。任務(wù)E直方圖&箱線圖5.數(shù)據(jù):隨機生成1000個N(100,152)成績。要求:?直方圖bins=20,密度曲線疊加KDE;?箱線圖與直方圖左右子圖;?保存為hist_box_score.png。任務(wù)F子圖與雙坐標(biāo)軸6.數(shù)據(jù):某城市7天溫度和濕度。要求:?一行兩子圖:(1)溫度折線(左軸)+濕度折線(右軸);(2)溫度柱狀圖;?共享x軸;?保存為subplot_weather.png。任務(wù)G綜合案例(選做)7.可視化“雙十一”銷售大屏:?讀取CSVsales.csv(含日期、品類、銷量、銷售額);?繪制品類銷量橫向柱狀圖+日期折線圖+銷售額餅圖;?組合為2×2子圖并導(dǎo)出dashboard.png?!緦嶒瀳蟾嬉蟆?.每圖貼關(guān)鍵代碼與結(jié)果截圖。2.總結(jié)Matplotlib常用輔助元素設(shè)置技巧(≥150字)?!究己藰?biāo)準】?圖形正確性50%?輔助元素完整性30%?創(chuàng)意與美觀10%?實驗總結(jié)10%參考答案(教師版,可直接運行)任務(wù)A折線圖importmatplotlib.pyplotaspltimportnumpyasnpplt.rcParams['font.sans-serif']=['SimHei']#中文plt.rcParams['axes.unicode_minus']=Falsegmv=[120,135,150,145,160,175,180,190,200,210,220,230]months=range(1,13)plt.figure(figsize=(8,4))plt.plot(months,gmv,color='#1f77b4',linewidth=2,marker='o',markersize=6)plt.title("2024年月度GMV趨勢")plt.xlabel("月份")plt.ylabel("GMV(億元)")plt.grid(alpha=0.3)plt.xticks(months)plt.tight_layout()plt.savefig("line_gmv.png",dpi=300)plt.show()任務(wù)B柱狀圖scores={'語文':85,'數(shù)學(xué)':78,'英語':92,'物理':75,'化學(xué)':88}courses=list(scores.keys())values=list(scores.values())plt.figure(figsize=(6,4))bars=plt.bar(courses,values,color=plt.cm.viridis(np.linspace(0,1,5)))forbar,vinzip(bars,values):plt.text(bar.get_x()+bar.get_width()/2,bar.get_height()+1,str(v),ha='center')plt.title("班級課程平均成績")plt.ylabel("分數(shù)")plt.ylim(0,100)plt.tight_layout()plt.savefig("bar_score.png")plt.show()任務(wù)C餅圖labels=['手機','電腦','家電','服飾']sizes=[35,25,20,20]explode=(0.1,0,0,0)#突出手機plt.figure(figsize

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論