基于元组,设计集合的操作模块,包括:判断一个集合是否是另一个集合的子集;求两个集合的交、并、差集。对模块里的函数进行测试。

首先创建一个set模块也就是一个set.py文件,然后在里面编写四种功能。第一个函数是判断一个集合是否另外一个集合的子集,用到双层for循环判断。第二个函数是求两个集合的交集,用到python的内置函数in。第三个函数是求两个交集的并集,用到双层for循环遍历两个元组,遇到相同的元素就删除。第四个函数是求两个函数的差集,用到内置函数in和not in。模块写好后在另外一个py文件进行测试,写一个测试函数输入若干元组,求两个元组的并交差集,以及判断该元组是否是另外一个的子集。

代码如下:

def isIn(t1,t2): #判断子集
    count = 0
    for i in t1:
        for j in t2:
            if j==i:
                count = count+1
    l = len(t2)
    if l==count:
        print('t2 is IN t1')
    else:
        print('t2 is NOT IN t1')

def intersection(t1,t2):   #求交集
    count = 0
    t3 = ()
    for i in t1:
        if i in t2:
            t3 +=(i,)
    return t3

def union(t1,t2): #求并集
    l = len(t2)
    count = 0
    for i in t1:
        for j in t2:
            if j==i:
                t2 = t2[0:count]+t2[count+1:l-1] #切片加连接操作可删除指定元素,这里用来删除重复元素
                count = count+1
    t1 = t1+t2
    print(t1)
def dif(t1,t2): #求差集
    t3 = ()
    for i in t1:
        if i not in t2:
          t3+=(i,)
    return t3




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值