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


安徽工程大学

  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运行代码得到的结果:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM