网络程序设计 实验三 1.统计人名2.输出统计3.返回汉字
public-time:2020-10-09 16:00
1.编写一个程序,打开文本文件“三国演义.txt”,统计下方人物名称出现的次数,按出现次数降序输出。
'曹操', '孟德', '诸葛亮', '孔明', '刘备', '玄德', '孙权', '仲谋', '司马懿', '仲达', '周瑜', '公瑾', '关羽', '云长', '张飞', '翼德'
用到的文件:
三国演义.txt
def sort(dic):
# return list[]
return sorted(dic.items(), key=lambda x: x[1], reverse=True)
def fun2():
dic = {'曹操': 0, '孟德': 0, \
'诸葛亮': 0, '孔明': 0, \
'刘备': 0, '玄德': 0, \
'孙权': 0, '仲谋': 0, \
'司马懿': 0, '仲达': 0, \
'周瑜': 0, '公瑾': 0, \
'关羽': 0, '云长': 0, \
'张飞': 0, '翼德': 0}
fo = open("三国演义.txt", encoding='UTF-8')
return fo, dic
def countname(fo_, dic_):
for i in fo_:
for key, value in dic_.items():
dic_[key] += str(i).count(key)
return dic_
if __name__ == '__main__':
fo, dic = fun2()
lis = sort(countname(fo, dic))
for i in lis:
print("{:<8}\t{}".format(i[0], i[1]))
def fun1():
fo, dic = fun2()
lis = sort(countname(fo, dic))
return lis