码迷,mamicode.com
首页 > 编程语言 > 详细

Python程序设计实验报告八:文件

时间:2020-06-03 10:48:59      阅读:487      评论:0      收藏:0      [点我收藏+]

标签:问题   均值   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循环将收缩压、舒张压、心率数据分别相加,最后求平均值。

 

Python程序设计实验报告八:文件

标签:问题   均值   des   encoding   for循环   大学   完成   exclude   jieba   

原文地址:https://www.cnblogs.com/lcclcc1234/p/13035879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!