应用题 .    《笑做江湖》是金庸的重要武侠作品之一。这里给出一个《笑做江湖》的网络版本,文件名为“笑做江湖-网络版.txt”。
问答题 1.  问题1:请编写程序,统计该文件中出现的所有中文字符及标点符号的数量,每个字符及数量之间用冒号:分隔,例如“笑:1024”,将所有字符及数量的对应采用逗号分隔,以CSV文件格式保存到“笑傲江湖-字符统计.txt”文件中。注意,统计字符不包括空格和回车。
    笑:1024,傲:2048,江:128,湖:64
    (略)
【正确答案】参考程序:
   fi=open("笑做江湖-网络版.txt","r",encoding='utf-8')
   fo=open("笑傲江湖-字符统计.txt","w",encoding='utf-8')
   txt=fi.read()
   d={}
   for c in txt:
   d[e]=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.  问题2:请编写程序,统计“笑傲江湖-网络版.txt”中出现在引号内所有字符占文本总字符的比例,采用如下方式打印输出:
    占总字符比例:20%。
    用程序运行结果的真实数字替换上述示例中数字,均保留整数,字符串中标点符号采用中文字符。
【正确答案】参考程序:
   fi=open("笑做江湖-网络版.txt","r",encoding='utf-8')
   txt=fi.read()
   cnt=0
   flag=False
   for c in txt:
   if c =="“":
   flag==True
   if c =="”":
   flag=False
   if flag:
   cnt+=1
   print("占总字符比例:{:.0%}。".format(cnt/len(txt)))
   fi.close()
【答案解析】