项目介绍:
自己想开一个系列来分享自己在学python中遇到的那些有趣又短小的项目,并给那些初学者一些巩固的实战机会。
下面进入正题,有个搞数学建模的同学(嘻嘻),在网上面看到有人用虚词的使用的频率鉴定出《红楼梦》后40回并非曹雪芹原著,当时就感到很神奇,自己能不能编写一个类似的代码?
效果示例:
新闻.txt
结果.txt
源代码
with open('新闻.txt','r',encoding='utf-8') as f:#读取新闻文本
text=str(f.read())
with open('结果.txt','w',encoding='utf-8') as f:#将结果写入当文本中
numdict=dict()
for word in text:
if word not in numdict and word.isalnum():#如果该字符没被记录,并且属于字母或数字
numdict[word]=text.count(word)
numdict=sorted(numdict.items(),key=lambda e:e[1],reverse=True)#按从多到少的顺序对字典值进行排序
inf='全文总共用到重复文字有'+str(len(numdict))+'个\n'
f.writelines(inf)
f.writelines(str(numdict))