构建矩阵
def Creat_Matrix(a,rs):array= [[0]*len(a) for i in range(len(a))]for i in range((int)(len(rs)/2)):array[a.index(rs[i*2])][a.index(rs[i*2+1])]=1return array
输出矩阵
def Print_Matrix(array,judge):if judge=='r':print('-'*10,'关系R矩阵为:','-'*10)elif judge=='s':print('-'*10,'关系S矩阵为:','-'*10)for i in range(len(array)):print(array[i])return 0
关系的复合运算及结果输出
def Com_Matrix_relation(a,array_r,array_s,judge):res= [[0]*len(a) for i in range(len(a))]for i in range(len(a)):for j in range(len(a)):for k in range(len(a)):res[i][j] += array_r[k][j] * array_s[i][k]if res[i][j]>1:res[i][j]=1if judge=='r○s':print('-'*10,'R○S关系复合运算结果为:','-'*10)elif judge=='s○r':print('-'*10,'S○R关系复合运算结果为:','-'*10)for i in range(len(res)):print(res[i])return 0
对称性判断:
def Symmetric_Relation(a,array,str_judge):for i in range(len(a)):for j in range(len(a)):if array[i][j]!=array[j][i]:print("关系",str_judge,"不是对称的")return 0 if i==len(a)-1:print("关系",str_judge,"是对称的")return 0
反对称性判断
def Un_symmetric_Relation(a,array,str_judge):for i in range(len(a)):for j in range(len(a)):if array[i][j]==array[j][i]:if i!=j:print("关系",str_judge,"不是反对称的")return 0 if i==len(a)-1:print("关系",str_judge,"是反对称的")return 0
自反性判断
def Contrary_Relation(a,array,str_judge):for i in range(len(a)):if array[i][i]==0:print("关系",str_judge,"不是自反的")return 0if i==len(a)-1:print("关系",str_judge,"是自反的")return 0
反自反性判断
def Un_contrary_Relation(a,array,str_judge):for i in range(len(a)):if array[i][i]==1:print("关系",str_judge,"不是反自反的")return 0if i==len(a)-1:print("关系",str_judge,"是反自反的")return 0
传递性判断
def Transmit_Relation(a,array,str_judge):for i in range(len(a)):for j in range(len(a)):for k in range(len(a)):if array[i][j]==1 and array[j][k]==1 :if array[i][k]!=1:print("关系",str_judge,"不是传递的")return 0if i==len(a)-1 :print ("关系",str_judge,"是传递的")return 0
对称闭包
def Symmetric_Closure(a,array,str_judge):judge=0print("关系",str_judge,"对称闭包需要添加的关系有")for i in range(len(a)):for j in range(len(a)):if array[i][j]==0 and array[j][i]==1:print("<",a[i],",",a[j],">")judge=1if judge==0:print("\t无\n关系",str_judge,"本身就是对称的,s(",str_judge,")=",str_judge)return 0
自反闭包
def Reflexive_Closure(a,array,str_judge):judge=0print("关系",str_judge,"自反闭包需要添加的关系有")for i in range(len(a)):if array[i][i]!=0:print("<",a[i],",",a[i],">")judge=1if judge==0:print("\t无\n关系",str_judge,"本身就是自反的,s(",str_judge,")=",str_judge)return 0
传递闭包
def Transitive_Closure(a,array,str_judge):judge=0print("关系",str_judge,"传递闭包需要添加的关系有")for i in range(len(a)):for j in range(len(a)):for k in range(len(a)):if array[i][j]==1 and array[j][k]==1 :if array[i][k]!=1:print("<",a[i],",",a[k],">")judge=1if judge==0:print("\t无\n关系",str_judge,"本身就有传递性,t(",str_judge,")=",str_judge)return 0

是这样吗?

就这样吧!

python实现 离散数学二元关系判定相关推荐

  1. 离散数学--二元关系总结

    等价关系: 设 R 是集合 A 上的一个二元关系,若R满足://都是任意元素 自反性:∀ a ∈A, => (a, a) ∈ R 对称性:(a, b) ∈R∧ a ≠ b => (b, a ...

  2. 运用Python完成学生成绩判定

    一.新建记事本文件,把扩展名改成.py,然后用python打开,输入以下代码 按下Ctrl+s保存,按下F5运行 出现以上画面便是运行成功

  3. python回文数判定_python如何写一个函数判断回文数?

    python如何写一个函数判断回文数? python写一个函数判断回文数的方法: 设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=1234321,则称 ...

  4. MIT离散数学二元关系笔记

    什么是关系 关系是事物之间相互作用和影响的状态. 如何表示等价关系 1.有序对表示,R={<a,b>:a与b的关系} 用一个有序对表示事物之间的一种关系,有序对的集合组成事物之间的关系集合 ...

  5. 离散数学-二元关系、闭包的概念

    二元关系 设S是一个非空集合,R是关于S的元素的一个条件.如果对S中任意一个有序元素对(a,b),我们总能确定a与b是否满足条件R,就称R是S的一个关系(relation).如果a与b满足条件R,则称 ...

  6. 离散数学 --- 二元关系 --- 序偶,笛卡尔积与关系的定义和表示

    第一部分 --- 序偶与笛卡尔积 1.两个元素(偶)按照一定次序(序)组成的二元组称为序偶 2.一旦出现尖括号,则表示序偶出现了,且序偶里的数据的顺序是先左再右 1.两个集合相乘得到的是笛卡尔积 1. ...

  7. python方格染色_判定二部图的着色算法(Python),题,染色法,判断,二分

    题目: 给定一个n个点m条边的无向图,图中可能存在重边和自环. 请你判断这个图是否是二分图. 输入格式 第一行包含两个整数n和m. 接下来m行,每行包含两个整数u和v,表示点u和点v之间存在一条边. ...

  8. 离散数学 —— 二元关系(图、零图与平凡图、度、握手定理、平行边、简单图与完全图、补图、子图与生成子图、同构、通路与回路、点与边割集、最短路线问题、强弱联通图、邻接矩阵与可达矩阵、欧拉图、平面图等)

    5.1     关系及其表示: 补充一点: 简单路径:无重复边(点不作要求) 基本路径(初级路径):无重复点 一个路径是基本路径,那么必是简单路径 5.2     路与回路: 5.3     图的矩阵 ...

  9. 【时间处理】python制作日历、判定日期是周几(2种方法) 、获取某年某月的日历数据、获取法定节假日

    在写项目管理系统时,开发了日历管理模块,以结合个人日历提醒.审批流时间处理的等等,以下是用到的相关模块及代码: 1.判断给定的日期是周几(2种方法): 方法一: from datetime impor ...

最新文章

  1. I-Matrix Power Series POJ - 3233 矩阵快速幂+分治
  2. 扩增子统计绘图8网络图-MENA
  3. 从零开始一个http服务器(五)-模拟cgi
  4. 【Linux】文件特殊权限 SUID/SGID/Sticky Bit
  5. C++中的string 类型占几个字节
  6. 爬虫之拉勾网职位获取
  7. rxjs的map和switchMap在SAP Spartacus中的应用 -将高阶Observable进行flatten操作
  8. HTML列表标签,大牛最佳总结
  9. AcWing之重建二叉树
  10. Enterprise Library访问Access数据库
  11. 全球最快65W闪充!OPPO Reno Ace正式发布 高达限量定制版售价仅3599元
  12. android Fragment 笔记
  13. Map<String,Object> map=new HashMap<String,Object>详解
  14. python中pickle模块_python标准库学习之pickle模块
  15. LeetCode入门题 两数之和
  16. kali linux实现wifi扫描与密码字典破解入门
  17. Axure 元件导入元件库
  18. 上传pdf图片 文件
  19. 软件工程基础课-个人项目-数独
  20. Android 监听屏幕唤醒、关闭和解锁的广播

热门文章

  1. sql 服务器停止运行,3.1.1 启动、停止、暂停和重新启动SQL Server服务
  2. CSMA/CD与CSMA/CA区别
  3. 人工智能:通俗易懂理解深度学习与神经网络
  4. 区块链与DApp开发(学习总结)
  5. 关于启发式算法、元启发式算法以及超启发式算法的理解
  6. win10 安装yolov7 训练自己的数据集
  7. 关于strncpy这个函数
  8. Android supports-screens 屏幕适配
  9. 「数据一致性」理解分布式系统中的一致性
  10. 赚钱宝3代玩客云网心云 安装armbian docker 宝塔 青龙 openwrt