《神雕侠侣》是金庸先生在武侠小说创作上的一个里程碑,叙述杨过与小龙女之间的故事。这里给出《神雕侠侣》的网络版本,文件名为“神雕侠侣一网络版.txt”。 《神雕侠侣》中出现了很多人物,这里给出6个人物名字:杨过、小龙女、李莫愁、裘千尺、郭靖、黄蓉。统计人物之

admin2019-09-02  33

问题 《神雕侠侣》是金庸先生在武侠小说创作上的一个里程碑,叙述杨过与小龙女之间的故事。这里给出《神雕侠侣》的网络版本,文件名为“神雕侠侣一网络版.txt”。
《神雕侠侣》中出现了很多人物,这里给出6个人物名字:杨过、小龙女、李莫愁、裘千尺、郭靖、黄蓉。统计人物之间的关联关系,这里定义一种“亲和度”关系如下:如果某名字A后的100个中文词语中出现上述6个名字中任何一个B,则名字A的亲和度加1。(注意,如果到文本末尾部分,名字A后没有100个中文词语,则有多少算多少)
请输出每个名字的亲和度,保存文件名为“神雕侠侣一人名亲和度.txt”如下:
杨过一小龙女:1024,杨过一李莫愁:20,(略),小龙女一杨过:2014
(略)

选项

答案参考程序: import jieba fi=open(’’神雕侠侣一网络版.txt’’,’’r’’,encoding=’uff一8’) fo=open(’’神雕侠侣一人名亲和度.txt’’,’’w’’,encoding=’utf一8’) names=[’’杨过’’,’’小龙女’’,’’李莫愁’’,’’裘千尺’’,’’郭靖’’,’’黄蓉’’] d={} for iteml in names: for item2 in names: if iteml!=item2: d[iteml+’’一’’+item2]=0 txt=fi.read() ls=jieba.lcut(txt) for i in range(len(ls)一100): if ls[i]in names: for j in range(1,101): if Is[i+j]!=Is[i]and(Is[i+j]in names): d[Is[i]+’一’+ls[i+j]]+=1 break ols=[] for key in d: ols.append(’’{}:{}’’.format(key,d[key])) fo.write(’’,\n’’.join(ols)) fi.close() fo.close()

解析
转载请注明原文地址:https://kaotiyun.com/show/aJ6p777K
0

相关试题推荐
最新回复(0)