小程序描述:输入两个倒排记录表,求两个倒排记录表的交集。
倒排记录表合并算法伪代码如下所示:
功能描述:
①运行程序,看到提示“请输入词项word1:”,输入某个倒排记录表的词项。
②运行程序,看到提示“请输入word1的倒排记录表(输入-1,停止输入倒排记录表):”时,输入①步骤词项的倒排记录表,当输入-1时停止输入此倒排记录表。
③运行程序,看到提示“请输入词项word2:”,输入某个倒排记录表的词项。
④运行程序,看到提示“请输入word2的倒排记录表(输入-1,停止输入倒排记录表):”时,输入③步骤词项的倒排记录表,当输入-1时停止输入此倒排记录表。
小程序功能架构图如下所示:
'''程序说明:
求两个倒排记录表的交集
输入词项的倒排记录表时,当输入-1,停止输入其倒排记录表
'''
#data字典存储所有数据
data = {}
#分别输入两个词项以及其对应的倒排记录表
#输入词项word1以及它的倒排记录表
word1 = str(input("请输入词项word1:"))
id_1 = []
while 1:
a1 = int(input('请输入word1的倒排记录表(输入-1,停止输入倒排记录表):'))
if(a1 != -1):
id_1.append(a1)
else:
break
data[word1] = id_1
#输入词项word2以及它的倒排记录表
word2 = str(input('请输入词项word2:'))
id_2 = []
while 1:
a2 = int(input("请输入word2的倒排记录表(输入-1,停止输入倒排记录表):"))
if(a2 != -1):
id_2.append(a2)
else:
break
data[word2] = id_2
print('词项a1为:',word1)
print('词项a2为:',word2)
print('词项a1的倒排记录表为:',data[word1])
print('词项a2的倒排记录表为:',data[word2])
#求两个词项的并集
same_id = []
for i in data[word1]:
if(i in data[word2]):
same_id.append(i)
else:
continue
print("相同的倒排记录表为:",same_id)