python语言程序设计实践教程实验八答案_Python程序设计实验报告: 实验八 文件...

实验八 文件

班级:物流191 姓名:韩晶晶 学号:3190505140 指导老师:修宇 成绩: 日期:2020.6.3

【实验目的】

掌握读写文本文件或 CSV 文件,进而对数据进行处理的方法。

【实验条件】

PC机或者远程编程环境

【实验内容】

完成二个编程题。

1)水浒传词频统计

水浒传-词频统计

描述

使用词频统计的方法,生成《水浒传》出场次数最多的10个人物的姓名。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

水浒传文本下载:

读取《水浒传》文本文件的代码如下:‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

txt = open("AllManAreBrothers.txt", "r", encoding="utf-8").read()

8d234bf9ab87c6fe65c46fd187e3b2d7.png

代码模板:

# 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"))

0755e1481b01d8491c8a34ef17089e00.png

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

e298667bd41f6341d07ad2358c3feb07.png

【实验过程】

实验过程与记录

一、水浒传词频统计

代码如下:

1956619-20200603105900229-1281706620.png

1956619-20200603105921773-1986210872.png

1956619-20200603105949422-975625295.png

分析:excludes 后没有补充

1956619-20200603111715036-1457060582.png

1956619-20200603111732934-1434477959.png

二、血压心率分析

代码如下:

1956619-20200603110235537-1529024424.png

1956619-20200603110253965-1444551824.png

分析:

该题最初未写出来,之后老师给了代码提示:

1956619-20200603110835581-344395065.jpg

理解提示中每行代码的含义后,补充剩下的几行代码:

1956653-20200602173153523-1200370424.png

用IDLE运行代码得到的结果:

1956653-20200602172821634-472985743.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值