1.
《笑傲江湖》是金庸的重要武侠作品之一。这里给出一个《笑傲江湖》的网络版本,文件
名为
“
笑傲江湖
-
网络版
.txt”
。
问
题
1
:
请编写程序,
统计该文件中出现的所有中文字符及标点符号的数量,
每个字符及数
量之间用冒号
:
分隔,例如
“
笑
:1024”
,将所有字符及数量的对应采用逗号分隔,
以
CSV
文件
格式保存到
“
笑傲江湖
-
字符统计
.txt”
文件中。注意,统计字符不包括空格和回车。
问题
2
:请编写程序,统计
“
笑傲江湖
-
网络版
.txt”
中出现在引号内所有字符占文本总字符的
比例,采用如下方式打印输出:
用程序运行结果的真实数字替换上述示例中数字,
均保留整数,
字符串中标点符号采用中文
字符。
参考代码:
问题
1
fi = open("
笑傲江湖
-
网络版
.txt", "r", encoding='utf-8')
fo = open("
笑傲江湖
-
字符统计
.txt", "w", encoding='utf-8')
txt = fi.read()
d = {}
for c in txt:
d[c] = d.get(c, 0) + 1
del d[' ']
del d['\n']
ls = []
for key in d:
ls.append("{}:{}".format(key, d[key]))
fo.write(",".join(ls))
fi.close()
fo.close()
问题
2
fi = open("
笑傲江湖
-
网络版
.txt", "r", encoding='utf-8')
txt = fi.read()
cnt = 0
flag = False
for c in txt:
if c == "“":
flag = True
continue
if c == "”":
flag = False
if flag:
cnt += 1
print("
占总字符比例:
{:.0%}
。
".format(cnt/len(txt)))
fi.close()
2.
《射雕英雄传》是金庸的重要武侠作品之一。这里给出一个《射雕英雄传》的网络版本,
文件名为
“
射雕英雄传
-
网络版
.txt”
。
请编写程序,统计该文件出现的所有中文词语及出现次数(不要求输出)
,并输出按照出现
次数最多的
8
个词语。