《命运》是著名科幻作家倪匡的作品。这里给出《命运》的一个网络本文件,文件名为“命运.txt”
问题一 、(5分)在右侧修改代码,对“命运.txt”文件进行字符频次统计,输出频次最高的中文字符(不包括标点符号)及其频次,字符与频次之间采用英文冒号“:”分隔
示例格式如下:
理:
224
代码示例:(有问题可以联系我o(* ̄︶ ̄*)o)
fi=open("命运.txt","r")
d = {}
for i in fi.read():
if i not in":;,。《》=-+——()*#% ?【】、\n\"":
d[i]=d.get(i,0)+1
ls=list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)
print("{}:{}".format(ls[0][0],ls[0][1]))
fi.close()
问题二、(5分)在右侧编程模板中修改代码,对“命运.txt”文件进行字符频次统计,按照频次由高到低,在屏幕输出前10个频次最高的字符,不包含回车符,字符之间无间隔,连续输出
示例格式如下:
理斯卫...(后略,共10个字符)
代码示例:
fi=open("命运.txt","r")
d = {}
for i in fi.read():
if i not in"\n":
d[i]=d.get(i,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序
for i in range(10):
print(ls[i][0],end="")
fi.close()
问题三、(10分)在右侧修改代码,对“命运.txt”文件进行字符频次统计,将所有字符按照频次从高到低排序,字符包括中文、标点、英文等符号,但不包含空格和回车。将排序后的字符及频次输出到考生文件夹下,文件名为“命运-频次排序.txt”。 字符与频次之间采用英文冒号“:”分隔,各字符之间采用英文逗号“,”分隔,参考CSV格式,最后无逗号
文件内部示例格式如下:
理:224,斯:120,卫:100
代码示例:
fi=open("命运.txt","r")
fo=open("命运-频次排序.txt","w")
d = {}
for i in fi.read():
if i not in"\n":
d[i]=d.get(i,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序
s=""
for k in ls:
s=s+"{}:{}".format(k[0],k[1])+","
fo.write(s[:-1])
fi.close()
fo.close()