应用题 4. 《侠客行》是金庸的重要武侠作之一,主要叙述一个懵懂少年石破天的江湖经历。这里给出一个《侠客行》的网络版本,文件名为“侠客行-网络版.txt”。
    基础中文字符的unicode编码范围是[0x4e00,0x9fa5],请统计给定文本中存在多少该范围内的基础中文字符以及每个字符的出现次数。以如下模式(CSV格式)保存在“侠客行-字符统计.txt”文件中。
    侠(0x4fa0):888,客(0x5ba2):666,行(0x884c):111
    (略)
    其中括号内是对应字符的十六进制Unicode编码形式,冒号后是出现次数,逗号两侧无空格。
【正确答案】fi=open("侠客行-网络版.txt","r",encoding='utf-8')
   fo=open("侠客行-字符统计.txt","w",encoding='utf-8')
   txt=fi.read()
   d={}
   for c in txt:
   if 0x4e00<=ord(c)<=0x9fa5:
   d[c]=d.get(c,0)+1
   ls=[]
   for key in d:
   ls.append("{}(0x{:x}):{}".format(key,ord(key),d[key]))
   fo.write(",".join(ls))
   fi.close()
   fo.close()
【答案解析】