标签:问题 均值 des encoding for循环 大学 完成 exclude jieba
安徽工程大学
Python程序设计 实验报告
班级 物流192 姓名 刘晨晨 学号 3190505214
日期 2020.6.3 指导老师 修宇
【实验名称】实验八 文件
【实验目的】
掌握读写文本文件或 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位小数)
【实验记录与分析】
1)水浒传词频统计
输入:
输出:
注:本题在老师给出代码的基础上需要有所改动,1、在提交代码后会发现你的输出中有不是人名的高频词汇,这时需要对比期望输出惊醒排除,把不是人名的高频词汇加入到代码进行排除,不断优化,最后前10个词汇全为人名。2、在对比测用示例会发现你的答案中有个人名与测用示例不同,需要通过分支结构即这里代码的22和23行,将人名替换,最后结果正确。
2)血压心率分析
代码如下:
注:在老师给出代码的基础上补充完成,打开文件以后,运用两个for循环将收缩压、舒张压、心率数据分别相加,最后求平均值。
标签:问题 均值 des encoding for循环 大学 完成 exclude jieba
原文地址:https://www.cnblogs.com/lcclcc1234/p/13035879.html