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

Posted 小情绪哇哇哇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python程序设计实验报告八:文件相关的知识,希望对你有一定的参考价值。

安徽工程大学

  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程序设计实验报告八:文件的主要内容,如果未能解决你的问题,请参考以下文章

20182312实验八报告

# 20182304 实验八 《数据结构与面向对象程序设计》实验报告

20182332 《数据结构与面向对象程序设计》实验八报告

20182330 2019-2020-1 《数据结构与面向对象程序设计》实验八报告

20182327 2019-2020-1 《数据结构与面向对象程序设计》实验八报告

20182328 2019-2020-1 《数据结构与面向对象程序设计》实验八报告