Python 程序设计实验报告8

安徽工程大学

Python 程序设计实验报告

班级:物流 191 姓名:余嘉 学号:3190505116 成绩:

日期:2020/6/4 指导老师:修宇

实验名称:文件

 

实验目的:

掌握读写文本文件或 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 行代码)  

 

 输出格式:

 宋江         2997

 李逵         1116

 ...

 柴进          301

 

2.血压心率分析

 

 问题描述:

 BP.txt”是以逗号分隔的日期、血压、心率记录数据文本文件( open('BP.txt',encoding="gbk"))

 

 时间,收缩压,舒张压,心率

 1/5AM,136,76,73

 1/5PM,143,80,73

 2/5AM,135,82,68

 2/5PM,140,81,67

 3/5AM,142,76,67

 3/5PM,141,80,71

 4/5AM,138,77,74

 4/5PM,149,76,72

 

 统计收缩压、舒张压、心率的总平均值(保留 3 位小数)

 收缩压平均值:xxx.xxx,舒张压平均值:xx.xxx,心率平均值:xx.xxx 

 

实验记录与分析:

(请填写实验记录与分析结果)

 

1.水浒传词频统计

 

 编写程序如下:

 

 

 输出结果:

 

 

 反思:

 尝试很多次发现我写的程序总是没有呼延灼的词频,与其他同学对比感觉没有问题但是总是不对。我会与正确答案仔细对比尽量找出错误之处。

 

2.血压心率分析

 

 编写程序如下:

 

 

 输出结果:

 

 

 反思:

 一开始没有写出来,在老师和同学的帮助下写的过程也比较坎坷。下图所示的解决方法是,将三个平均值后的冒号改为中文冒号,中文冒号在作业平台中不能打出来,可先在其他平台先打好中文冒号再复制粘贴到代码内。

 

posted @ 2020-06-04 17:02  萘萘啊  阅读(571)  评论(0编辑  收藏  举报