安徽工程大学
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运行代码得到的结果: