y-day8集合作业

  1. 用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)

    a. 求选课学生总共有多少人

    s1={'张三','李四','王五','老六'}
    s2={'王五','小明','小华'}
    s3={'张三','李四','老六','王五'}
    
    
    result=s1|s2
    print(result)
    count=0
    for x in result:
        count+=1
    print(count)
    #6
    

    b. 求只选了第一个学科的人的数量和对应的名字

    count=0
    for x in s1:
        print(x)
        count+=1
    print(count)
    

    c. 求只选了一门学科的学生的数量和对应的名字

    result1=s2^s1
    print(result1)
    result2=result1-s3
    print(result2)
    count=0
    for x in result2:
    	count+=1
    print(count)
    #{'小华', '小明'}  2
    

    d. 求只选了两门学科的学生的数量和对应的名字

    result1=s1|s3
    result2=s1&s2&s3
    result3=result1^result2
    print(result3)
    count=0
    for x in result3:
        count+=1
    print(count)
    
    #{'张三', '李四'}  2
    

    e. 求选了三门学生的学生的数量和对应的名字

    result1=s1&s2&s3
    print(result1)
    count=0
    for  x in result1:
        count+=1
    print(count)
    
    #{'老六'}
    #1
    
  2. 获取列表中出现次数最多的元素

    例如:nums = [1, 2, 3,1,4,2,1,3,7,3,3] —> 打印:3

    nums = [1,2,2,1,3] --> 打印1、2

    nums = [5,1, 2, 1,4,2,1,3,7,3,3]
    numcount=0
    list1=[]
    for i in nums:
        if nums.count(i)>numcount:
            numcount=nums.count(i)
            list1.clear()
            if i not in list1:
                list1.append(i)
        elif nums.count(i)==numcount:
            if i not in list1:
                list1.append(i)
    print(list1)
    
    #[1, 3]
    
  3. 实现给定一个日期,判断这个日期是今年第几天的程序(尝试

    例如:2022/12/31 --> 今年第365天;2022/1/1 --> 今年第1天

    data=input('输入年月日如( 2022/12/31):')
    data1=data.split('/')
    # print(data1)  ['2022','12','31']
    year1=int(data1[0])
    # 1.先判断闰年或平年
    sum1=0
    if( year1 %4==0 and year1%100!=0 )or year1%400==0:
        sum1=1
    else:
        sum1=0
    # 2.创建一个列表,存储每个月的天数
    monthlist=[31,28,31,30,31,30,31,31,30,31,30,31]
    # 3.先计算前N-1个月的总天数
    month1=int(data1[1])
    if month1>2 and sum1==1:
        days=sum(monthlist[:month1-1])+1
    else:
        days=sum(monthlist[:month1-1])
    
    # 4.添加最后的天数
    day1=int(data1[2])
    days+=day1
    print(f'{data}是今年的第{days}天')
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值