python离散数学~证明关系的自反性

验证自反性

假设我们要验证集合 {1, 2, 3} 上的关系 R={(1,1), (2,2), (3,3)} 是否具有自反性

def RE(relation, elements):
    # 检查每个元素是否满足自反性
    for element1 in elements:
        if (element1, element1) not in relation:
            return False
    return True

elements_input = input("请输入只包含数字的集合(元素之间用逗号分隔):")

elements = {int(e) for e in elements_input.split(",")}

#将它转换集合
relation_input = input("请输入关系,例如{(1, 1), (2, 2)}:")

relation = eval(relation_input)

# 将元组列表转换为集合
relation = set(relation)

if RE(relation, elements):
    print("关系具有自反性")
else:
    print("关系不具有自反性")
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 中,我们可以使用集合来表示关系。具体地,如果关系 R 是从集合 A 到集合 B 的二元关系,我们可以用一个包含元素为二元组的集合来表示 R,即 $R \subseteq A \times B$。 下面是几个常见的判断二元关系的方法: 1. 反身性:对于所有的 $a \in A$,$(a, a) \in R$。可以使用循环遍历集合中的元素,检查是否存在 $(a, a)$。 2. 对称性:对于所有的 $(a, b) \in R$,都有 $(b, a) \in R$。可以使用循环遍历集合中的元素,检查是否存在 $(b, a)$。 3. 传递性:对于所有的 $(a, b) \in R$ 和 $(b, c) \in R$,都有 $(a, c) \in R$。可以使用循环遍历集合中的元素,检查是否存在 $(a, c)$。 举个例子,假设我们有一个集合 $A = \{1, 2, 3\}$ 和一个集合 $B = \{2, 4, 6\}$,并且关系 $R$ 包含了 $(1, 2)$、$(2, 4)$ 和 $(1, 4)$ 这三个元素。我们可以用 Python 代码表示如下: ```python A = {1, 2, 3} B = {2, 4, 6} R = {(1, 2), (2, 4), (1, 4)} ``` 接下来,我们可以分别判断 $R$ 的反身性、对称性和传递性: ```python # 反身性 for a in A: if (a, a) not in R: print("R 不具备反身性") break else: print("R 具备反身性") # 对称性 for x, y in R: if (y, x) not in R: print("R 不具备对称性") break else: print("R 具备对称性") # 传递性 for x, y in R: for z, w in R: if y == z and (x, w) not in R: print("R 不具备传递性") break else: continue break else: print("R 具备传递性") ``` 注意,这里我们使用了 Python 中的 `for...else` 循环结构来简化判断过程。如果 `break` 语句没有被执行,那么会执行 `else` 语句。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值