统计并输出诗中出现的中文字符及数量(不包含标点符号),按照字符出现次数从多到少的方式输出,字符和数量之间采用逗号相隔,每个字符占用一行,保存结果到csv文件

话不多说,直接把代码给出来
fil=open(‘古诗词.TXT’,‘r’)
a=fil.read()
num=[]
c=[]
D=dict()
for i in range(len(a)):
if ‘\u4e00’<=a[i]<=’\u9fff’: #and a[i] not in c:
if a[i] not in c:
d=a.count(a[i]);
D[a[i]]=d;
#print(’{};{}’.format(a[i],d));
c.append(a[i]);
num.append(d);
max=num[0]
b=[]
f=[]
file=open(‘city.csv’,‘w’);
for j in range(len©):
p=num.index(min(num));
b.insert(0,[str(c[p]),str(num[p])]);
#f.insert(0,c[p]);
num.pop§;
c.pop§;
for m in range(len(b)):
print(b[m])
for row in b:
file.write(’,’.join(row)+’\n’);
file.close()
其中我们从多到少输出的方式有个bug
就是max()用不了但是min()可以用,而且字符类型是int,希望有大神帮忙解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值