1.内容:读取names.txt文件内容,分别统计男性和女性姓名中出现“胜”字的频率。

with open('names.txt', 'r', encoding='utf-8') as fr:row = [[y.strip() for y in x.strip().split(' ')] for x in fr.readlines()]m=0
fr=0
ms=0
fs=0
for i in row[1:]:if i[1] == '男':ms+=1else:fs+=1if '胜' in i[0] and i[1]=='男':m+=1if '胜' in i[0] and i[1] == '女':fr+=1
print(fr'有胜字男生占男生总数{m/ms*100:.2f}%。')
print(fr'有胜字女生占女生总数{fr/fs*100:.2f}%。')

答案

def writedict(c_dict, file_name,topN= 100):c_list= list(c_dict.items())c_list.sort(key= lambda item:item[1], reverse=True)with open(file_name, 'wt', encoding= 'utf-8') as fw:for c,count in c_list[:topN]:fw.write('{}\t{}\n' .format(c,count))male_dict = {}
female_dict = {}with open('names.txt', 'rt', encoding= 'utf-8') as fo:for line in fo:line = line.replace('\n','')splits = line.split(' ')if splits[1] == '男':for c in splits[0][1:]:male_dict[c] = male_dict.get(c, 0) + 1elif splits[1] == '女':for c in splits[0][1:]:female_dict[c] = female_dict.get(c, 0) + 1
writedict(male_dict,'男性.txt')
writedict(female_dict,'女性.txt')

2.请使用jieba库,读取“十八大报告全文.txt”文件,使用jieba进行分词,统计所有词语的频率,并将词语词频从大到小输出前100个到文件中,输出文件格式为:【词语】【空格】【频率】。

import jiebawith open('D:\python学习\十八大报告全文.txt',encoding="utf-8") as fp:text = fp.read()ls = jieba.lcut(text)#分词counts= {}for i in ls:if len(i)>1:        counts[i] = counts.get(i,0)+1ls1 = sorted(counts.items(),key=lambda x:x[1],reverse=True)print(ls1[:100])

3.请在上题基础上,使用停用词表,将停用词去除后的词频统计从大到小前100个输出到文件中。停用词表见附件stop_words.txt,每行为一个停用词。

import jiebastop = [line.strip().encode('utf-8').decode('utf-8') for line in open('stop_words.txt').readlines() ]with open('D:\python学习\十八大报告全文.txt',encoding="utf-8") as fp:text = fp.read()#baidu_stopwords = stopwords.words('stop_words') #导入停用词表ls = jieba.lcut(text)#分词counts= {}for i in ls:if len(i)>1:        counts[i] = counts.get(i,0)+1     #for word in baidu_stopwords:  #去掉停用词for word in stop:counts.pop(word,0) ls1 = sorted(counts.items(),key=lambda x:x[1],reverse=True)print(ls1[:100])

答案:

import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt# 加载停用词表
def load_stopwords(path):temp_set = set()with open(path, 'rt', encoding='utf-8') as fo:for line in fo:temp_set.add(line.replace('\n', ''))return temp_setword_dict = {}
stopwords = load_stopwords('stop_words.txt')with open('十八大报告全文.txt', 'rt', encoding='utf-8') as fo:for line in fo:line = line.replace('\n', '')words = jieba.lcut(line)for word in words:if word in stopwords:continueword_dict[word] = word_dict.get(word, 0) + 1backgroud_Image = plt.imread('china.jpg')
w_cloud = WordCloud(font_path='STSONG.TTF', mask=backgroud_Image, width=800, height=800)
w_cloud.generate_from_frequencies(word_dict)plt.imshow(w_cloud) # 通过matplotlib显示词云
plt.axis("off") # 关闭matplotlib显示的横纵坐标
plt.show()

大连理工大学Python选修课作业训练5相关推荐

  1. 北京科技大学python(选修课)作业

    初学python,代码很烂,仅供参考 作业一: 海龟绘图 任选主题绘制一幅作品,在图上的合适位置给出图名.学生姓名和学号(注:不是仅列出姓名和学号). 提交代码和运行效果截图或录屏视频(jpg, pn ...

  2. 大连理工计算机应用基础作业,2014秋大连理工大学《计算机应用基础》在线测试1...

    2015电大考试,电大作业,在线作业,电大真题,电大题库 2014秋大连理工大学<计算机应用基础>在线测试1 大工14秋<计算机应用基础>在线测试1 一.单选题(共10道试题, ...

  3. 大连理工大学2022上半年最优化方法大作业

    收到校友的提问,这次的题目跟我当时不太一样,要求的精确线搜索,而且维数很高,之前的代码需要修改.为此专门写了这个博客,时间仓促,可能会有问题,有啥问题欢迎私信和评论,由于我要做其他事情,其他的请读者看 ...

  4. 大连理工大学2021最优化方法大作业(3)

    前面无约束优化问题的解法在这:大连理工大学 2021年最优化方法大作业(1)_JiangTesla的博客-CSDN博客 大连理工大学 2021年最优化方法大作业(2)_JiangTesla的博客-CS ...

  5. 大连理工大学 2021年最优化方法大作业(1)

    我们这届的题目如下,下面是一些自己的小想法供大家参考. 第二篇大连理工大学 2021年最优化方法大作业(2)_JiangTesla的博客-CSDN博客 第二题在这大连理工大学2021最优化方法大作业( ...

  6. Python选修课,期末大作业Pygame小游戏<Sharpshooter>

    本篇博文为博主大一Python选修课的期末作业,主要运用了Pygame叙写了一个实现小小功能的小游戏,可以随意拿去当作业上交.(程序在文底附录) 一.目标分析. 1.在屏幕下方中央生成一个炮台 2.随 ...

  7. 大连理工大学c语言第三次上机作业答案,大连理工大学软件学院C语言上机第五六章课后题...

    大连理工大学软件学院C语言上机第五六章课后题 五.1. #includeint main() { int a,b,c; float X,Y,Z; scanf("%d%d%d",&a ...

  8. python做作业没头绪_使用Python做作业

    python做作业没头绪 Applying OpenCV and Tesseract to do your math-homework 应用OpenCV和Tesseract进行数学作业 The pos ...

  9. 大连理工大学在CVPR18大规模精细粒度物种识别竞赛中获得冠军

    大连理工大学此前在CVPR2018的iNaturalist竞赛中,取得了第一名(1/59).这个比赛由Google.加州理工和康奈尔大学组织,微软公司赞助,旨在解决大规模的精细粒度物种分类问题. 在这 ...

最新文章

  1. 介绍Shell脚本的参数解析工具
  2. 如何攻破容器持久化存储挑战?
  3. SparkSQL读取hive中的数据,行转列的两种方式【行转列专用函数,UDAF】
  4. 从零开始学电脑办公_电脑办公从零开始
  5. 记录一个解决了一个下午加一个晚上的问题,关于springMVC上传文件的功能
  6. vsftpd服务的搭建
  7. leetcode179. 最大数
  8. springboot 的 RedisTemplate 的 execute 和 executePipelined 功能的区别redis
  9. Redis 学习---(12)Redis HyperLogLog
  10. Git基本介绍(三大分区及核心内部构造)
  11. 测试局域网路的MTU最大值
  12. ElementUI:tree给节点添加icon图标
  13. 北大计算机专业毕业论文,北京大学毕业论文格式范本
  14. 基于QT实现的数独游戏DPLL的SAT求解器设计
  15. 如何下载陕西省卫星地图高清版大图
  16. 更改Word文档中自带插入公式中的字体解决方案
  17. excel求回归直线方程的公式_如何用excel快速求线性回归方程?
  18. c盘空间太小怎么办 c盘如何扩展分区
  19. CAD如何自定义快捷键
  20. 阿里云建站:企业网站定制/速成美站/响应式功能建站官方购买及优惠详解!

热门文章

  1. UnserializeOne
  2. 地址池命令 思科理由_Cisco ip helper-address 详解
  3. Metric learning 度量学习
  4. 关于字节,半字,字到底有多多少位
  5. win7中vbs修改本地连接名称
  6. 编写程序,测试字符串“你好,欢迎来到Java世界”的长度,将字符串的长度转换成字符串进行输出,并对其中的“Java”四个字母进行截取,输出截取字母以及它在字符串中的位置。
  7. 家里不能上网显示的服务器问题,wifi有信号但上不了网怎么办_wifi有信号但是不能上网该怎么设置-192路由网...
  8. Kaggle树叶分类Leaves Classify总结
  9. 微信语音idk的demo学习
  10. 云安全主要体现在哪几方面 ,如何才能实现云安全?