我怎么能在python3中写一个aequivalenz关系?

时间:2017-12-03 15:15:08

标签: python-3.x

问题:

python3中的aequivalenz关系

预期结果:

ist_aequivalenzrelation (1 , [(1 , 1 )])  =>  True

ist_aequivalenzrelation (1 , [(2 , 2 )])  =>  False

ist_aequivalenzrelation (4 , [(1 , 1), (2 ,2 ), (3 ,3 ), (4 ,4 )])  =>  True

ist_aequivalenzrelation (3 , [(2 , 2), (1 ,1 ), (3 ,3 ), (4 ,4) , (1 , 2) , (2 , 1), (2 ,3 ), (3 ,2 )])  =>  False

ist_aequivalenzrelation (2 , [(1 , 1), (2 ,2 ), (1 ,2 ), (2 ,1) , (1 , 1) , (2 , 2 )]

我的解决方案:

1 个答案:

答案 0 :(得分:1)

柏林工业大学的CoMa?这是本周的任务,那里。

基本上你应该写这样的东西:

def ist_aequivalenzrelation(n,R):
      for i in range(1,n+1):
          if (i,i) not in R:
              return False
          for j in range(1,n+1):
              if (i,j) in R and (j,i) not in R:
                    return False
              for k in range(1,n+1):
                   if (i,j) and (j,k) and not (i,k) in R:
                      return False
       return True

检查反身性,对称性和传递性(上面的这个顺序)。这段代码,将太慢,不被法官接受^^。 祝你好运