安徽工程大學
Python程序設計 實驗報告
班級 物流192班 姓名 呂晨 學號 3190505209 成績
日期 2020.6.2 指導老師 修宇
【實驗名稱】實驗八 文件
【實驗目的】
掌握讀寫文本文件或 CSV 文件,進而對數據進行處理的方法。
【實驗條件】
PC機或者遠程編程環境
【實驗內容】
完成二個編程題。
1)水滸傳詞頻統計
水滸傳-詞頻統計
描述
使用詞頻統計的方法,生成《水滸傳》出場次數最多的10個人物的姓名。
水滸傳文本下載(略)
讀取《水滸傳》文本文件的代碼如下:
txt = open("AllManAreBrothers.txt", "r", encoding="utf-8").read()
代碼模板:
# ThreeKingdomsV2
import jieba
# 讀取txt文件,獲取需要統計詞匯的文本
txt = open("AllManAreBrothers.txt", "r", encoding="utf-8").read()
# 設置需要輸出最多的前n位人物的數量
n = 10
# 請在下列exludes集合中,自行補充其他需要排除的詞匯
excludes = {
"兩個", "一個", "只見", "如何", "那里", "哥哥",
}
words = jieba.lcut(txt)
counts = {}
# 請擴展下列分支結構,轉換更多替代詞
for word in words:
if len(word) == 1:
continue
elif word == "宋江道":
rword = "宋江"
else:
rword = word
counts[rword] = counts.get(rword, 0) + 1
# 實現刪除干擾詞匯功能(此處約2行代碼)
# 使用列表和lambda功能實現 詞匯的排序 (此處約2行代碼)
# 依次輸出統計次數最多的前n位(此處約3行代碼)
2)血壓心率分析
描述
BP.txt”是以逗號分隔的日期、血壓、心率記錄數據文本文件( open('BP.txt',encoding="gbk"))
統計收縮壓、舒張壓、心率的總平均值(保留3位小數)。
【實驗過程】
實驗過程與記錄
一、水滸傳詞頻統計
代碼如下:
在實驗中遇到的問題:
在得到正確代碼的過程中,需要不斷補充其他需要排除的詞匯直到結果正確。例如下圖:
二、血壓心率分析
代碼如下:
在輸入代碼時應注意符號大小寫、中英文符號等細節問題。
在實驗過程中遇到的問題:
一開始做此題並沒有清晰的思路,后來老師給了提示:
理解提示中每行代碼的含義后,補充剩下的幾行代碼:
用IDLE運行代碼得到的結果: