验证Python中集合运算的德摩根定律实现是否正确
你的代码完全正确!
嘿,你的代码实现完全贴合德摩根定律的验证逻辑,咱们拆解着看:
- 首先你把
U定义为全集,用U - B来求B在U中的补集,这完全没问题——Python集合的差集操作就是获取「属于全集但不属于目标集合」的元素,完美对应补集的数学定义。同理Comp_C = U - C也精准得到了C的补集。 - 德摩根定律的右侧是两个补集的交集,你用
Comp_B.intersection(Comp_C)正好实现了这一步,和定律描述完全匹配。
如果想要更直观地完成验证(直接对比定律左右两侧是否相等),可以补充几行代码:
# 计算定律左侧:B和C的并集的补集 Union_BC = B.union(C) Comp_Union_BC_left = U - Union_BC # 对比左右两侧是否相等 print(Comp_Union_BC_left == Comp_Union_BC) # 运行后会输出True
运行这段扩展代码后会得到True,这就直接证明了$\text{Complement}(B \cup C)$和$\text{Complement}(B) \cap \text{Complement}(C)$完全相等,完美验证了德摩根定律。
小补充:Python里求集合差集(补集)还可以用U.difference(B),和U - B效果完全一致,选你顺手的写法就行~
内容的提问来源于stack exchange,提问作者TimmyTooTough
相关产品推荐
相关产品推荐

