day9集合作业
迪丽瓦拉
2025-05-29 11:08:24
0
  1. 用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)

    python = {'小张', '小王', '小李', '小红', '小赵'}
    Java = {'小周', '小吴', '小郑', '小王', '小李'}
    UI = {'小冯', '小陈', '小褚', '小卫', '小蒋', '小红'}
    

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

    students = python | Java | C
    print('一共有', len(students), '名学生')
    

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

    first = python - Java - UI
    print(len(first), '名学生', '分别是', first)
    

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

    one1 = python ^ Java ^ UI
    print(len(one1), '个人只选了一门课分别是', one1)
    

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

    two1 = python & Java
    two2 = python & UI
    two3 = Java & UI
    sum1 = list(two1) + list(two2) + list(two3)
    print(len(sum1), '人选了2门课', '分别是', sum1)
    

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

    list1 = []
    for x in python:for i in Java:for n in UI:if x == i == n:list1.append(x)
    print(len(list1), list1)
    
  2. 获取列表中出现次数最多的元素

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

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

    nums = [1, 2, 3, 1, 4, 2, 1, 3, 7, 3, 3]
    set_nums = set(nums)
    list1 = []
    dict1 = {}
    for x in set_nums:list1.append(nums.count(x))dict1.setdefault(x, nums.count(x))
    max_count = max(list1)
    for key, value in dict1.items():if value == max_count:print(key)
    
  3. 实现给定一个日期,判断这个日期是今年第几天的程序(尝试

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

相关内容