首页 > 解决方案 > 如何根据集合中匹配的元素数量增加变量

问题描述

我刚刚开始使用 python 3。

问题:只有当两个集合之间的元素数量匹配时,我才想增加变量。

例如:如果两个元素在两个集合之间匹配,那么我想将变量增加 2。如果三个元素匹配,则增加三,依此类推。

这是我编写的代码。我见过一些类似的问题,但他们没有帮助我。

我的代码:

mainarr= []
subarr1 =[]
subarr2 =[]
myhappiness = 0

mainarray = int(input("Enter number of elements"))

subarray = int(input("Enter no of elements in subarray"))

for i in range(0,mainarray):
    ele = int(input())
    mainarr.append(ele)

print("Enter the first set")
for i in range(0,subarray):
    ele1=int(input())
    subarr1.append(ele1)


print("Enter the second set")
for i in range(0,subarray):
    ele2=int(input())
    subarr2.append(ele2)

mainset = set(mainarr)
set1 =set(subarr1)
set2 =set(subarr2)

print("Main set is",mainset)
print("The second set is" , set1)
print("The third set is" , set2)


matches = set(set1).intersection(mainset)
print(len(matches))

这里可以参考HackerRank的这个问题。我正在尝试解决这个问题

编辑:我的输出是

Enter number of elements5
Enter no of elements in subarray2
45
78
95
25
12
Enter the first set
45
78
Enter the second set
23
24
Main set is {12, 45, 78, 25, 95}
The second set is {45, 78}
The third set is {24, 23}
2

标签: pythonpython-3.x

解决方案


trash=input()
list_1=(input().split())
set_1=set(input().split())
set_2=set(input().split())

counter=0

for x in list_1:
    if x in set_1:
        counter+=1
    elif x in set_2:
        counter-=1

print(counter)

这是你要找的吗?


推荐阅读