实验二 集合上二元关系性质判定的实现(python实现)

这篇博客是关于离散数学实验二的内容,通过编程实现集合上二元关系的自反性、对称性、传递性等性质判定。作者以字典形式存储序偶,并利用while循环和正则表达式处理输入,旨在增强理解。
摘要由CSDN通过智能技术生成

依旧是信安菜狗的部分实验报告,网上没找到什么python实现,就拿出来写一下了。
一、 实验目的和要求
目的: 
通过编程实现任意集合上二元关系的性质判定,借此过程让学生充分理解二元关系的 自反性、对称性、传递性、反自反性和反对称性。
要求: 
能正确判定任意二元关系的自反性、对称性、传递性、反自反性和反对称性。

二、实验原理及内容
代码采用字典的形式储存序偶,“fn”表示序偶的前一个元素,“bn”表示序偶的后一个元素,n=1,2,3.。。。。。。使用字典的好处主要在于creater(i)函数调用可以十分方便的提起指定第n个序偶的两个元素。

本代码使用while循环获取多个序偶,在每次获取输入后都采用正则表达式提取其中的元素(数字)范围为0-99(可以很简单的调整)。

顺便把本部分的很多东西直接加到注释里增加可读性。

import  re
import operator

i=0
s=' '
s1={
   }
variable=[]#这里应该加一个提示输入的print()
while(s!=''):
    i=i+1
    s=input()
    i=str(i)
    str1='f'+i
    str2='b'+i
    i=eval(i)
    if s=='':
        break
    s1[str1]=re.search('([0-99]*),([0-99]*)',s).group(1)
    s1[str2]=re.search('([0-99]*),([0-99]*)',s).group(2)
#print(s1)
num=i

def creater(i):#creater()函数将记录在字典s1中的键值对提取,参数i表示提取第i个序偶
#creater(i)函数通过全局变量x1,x2传递第i对序偶的两个元素。
    global x1,x2
    i=str(i)
    str1='f'+
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值