N python中set()输入的数量
A是用户给定的集合,我要检查的是所有给定的集合是否都是A的超集 我只是不知道如何在循环中获取集合的多个输入 我的代码应该是这样运行的N python中set()输入的数量,python,python-3.x,for-loop,set,Python,Python 3.x,For Loop,Set,A是用户给定的集合,我要检查的是所有给定的集合是否都是A的超集 我只是不知道如何在循环中获取集合的多个输入 我的代码应该是这样运行的 enter elements of set A : 3 4 5 6 7 2 帮助我获得多组这样的输入 input set: 1 2 3 4 5 input set: 3 4 5 4 input set: 3 2 4 1 2 4 5 如果一个是它们的超集print True False else打印 True False 我的代码是这样的,但它不能完美地
enter elements of set A : 3 4 5 6 7 2
帮助我获得多组这样的输入
input set: 1 2 3 4 5
input set: 3 4 5 4
input set: 3 2 4 1 2 4 5
如果一个是它们的超集print
True
False
else打印
True
False
我的代码是这样的,但它不能完美地工作
A = set(map(int, input().split()))
for i in range(0,int(input())):
N = set(map(int, input().split()))
if A.union(N) == A:
print(True)
else:
print(False)
要检查一个集合“a”是否是另一个集合“B”的超集,“set”类已经有了一个方法:
A.issuperset(B)
下面的代码检查A是否是B的超集创建一个空集,然后在for循环中将输入集合并到该空集 然后检查for循环后的
B
是否是a
的超集
A = set(map(int, input("Enter elements of set A: ").split()))
B = set()
for i in range(0,int(input("Input total numbers of other sets you want to input: "))):
N = set(map(int, input("Input set: ").split()))
B = B | N # or B.union(N)
print(B.issuperset(A))
谢谢大家,我尝试了很多次,并获得了完美运行代码的方法,如果需要任何更改,请查看此代码
A = set(map(int, input().split()))
B = set()
for i in range(0,int(input())):
B = B.union(set(map(int, input().split())))
if B == A:
print(True)
else:
print(False)
你的代码有什么不完善之处?你能澄清问题是什么吗?请参阅,.input set:12345 input set:3454 input set:3241245一次输入一组,但我想要这些多组输入。请澄清您的问题。是否要检查每个集合是
a
的超集,还是所有集合的并集是“a”的超集?如果是后者,请告诉我,我会更新我的答案@穆罕默德Anas@MuhammadAnas更新了我的答案。请注意,这可以做成一个内衬,尽管为了清晰起见,我选择不这样做。