二级Python综合应用(5)《傲慢与偏见》字符统计

遇到字符统计题就谢天谢地吧,这种题已经有非常固定的回答策略。先读文件,然后将文件转换成列表,使用字典统计字符,排序后写入创建的文件里。

题目

《傲慢与偏见》是史上震撼人心的“世界文学十部最佳小说之一”。第一章的内容由文件"arrogant.txt"给出  
1.编写程序,统计该篇文章的英文字符数(不统计换行符),字符与出现次数之间用英文冒号“:”分隔。结果保存在文件下,命名为"PY301-1.txt"。  

fi=open('arrogant.txt','r')
fo=open('arrogant1.txt','w')
txt=fi.read()
d = {}
for i in txt:
    d[i]=d.get(i,0)+1
del d['\n']
ls =list(d.items())
for i in range(len(ls)):
    fo.write("{}:{}\n".format(ls[i][0],ls[i][1]))
fi.close()
fo.close()


2.在问题1的前提下,将得到的字符次数记行排序,并将排名前10的常用字符保存在"arrogant-sort.txt"文件中。

fi=open('arrogant.txt','r')
fo=open('arrogant2.txt','w')
txt=fi.read()
d = {}
for i in txt:
    d[i]=d.get(i,0)+1
del d['\n']
ls =list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)
for i in range(10):
    fo.write("{}:{}\n".format(ls[i][0],ls[i][1]))
fi.close()
fo.close()
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值