day9集合作业
-
用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)
a. 求选课学生总共有多少人
b. 求只选了第一个学科的人的数量和对应的名字
c. 求只选了一门学科的学生的数量和对应的名字
d. 求只选了两门学科的学生的数量和对应的名字
e. 求选了三门学生的学生的数量和对应的名字
# 用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课) class1 = {'stu1', 'stu2', 'stu3', 'stu4', 'stu5', 'stu8', 'stu11'} class2 = {'stu1', 'stu2', 'stu3', 'stu6', 'stu7', 'stu9', 'stu11'} class3 = {'stu3', 'stu4', 'stu5', 'stu6', 'stu7', 'stu10', 'stu11'} # a. 求选课学生总共有多少人 count_stu = len(class1 | class2 | class3) print('a. 选课学生总共有', count_stu, '人')# b. 求只选了第一个学科的人的数量和对应的名字 only_class1 = class1 - class2 -class3 count_only_class1 = len(only_class1) print('b. 只选了第一个学科的人的数量:', count_only_class1) for stu in only_class1:print(stu)# c. 求只选了一门学科的学生的数量和对应的名字 only_class = (class1 - class2 -class3) | (class2 - class1 -class3) | (class3 - class2 -class1) print('c. 只选了一门学科的学生的数量:', len(only_class)) for stu in only_class:print(stu)# d. 求只选了两门学科的学生的数量和对应的名字 two_class = ((class1 & class2) | (class1 & class3) | (class3 & class2)) - (class1 & class2 & class3) print('d. 只选了两门学科的学生的数量:', len(two_class)) for stu in two_class:print(stu)# e. 求选了三门学生的学生的数量和对应的名字 three_class = class1 & class2 & class3 print('e. 选了三门学生的学生的数量:', len(three_class)) for stu in three_class:print(stu)
-
获取列表中出现次数最多的元素
例如: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] max_count = nums.count(nums[0]) max_count_list = [nums[0]] for n in nums[1:]:count_n = nums.count(n)if count_n > max_count:max_count = count_nmax_count_list.clear()max_count_list.append(n)elif count_n == max_count:max_count_list.append(n) max_count_set = set(max_count_list) print('列表中出现次数最多的元素:', max_count_set)
-
实现给定一个日期,判断这个日期是今年第几天的程序(尝试)
例如:2022/12/31 --> 今年第365天;2022/1/1 --> 今年第1天
months_pt = (0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) months_run = (0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) date = '2020/12/31' year = int(date[0:4]) if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):months = months_run else:months = months_pt month = int(date[5:7]) day = int(date[8:10]) real_months = months[0:month] all_days = sum(real_months) + day print('今年第', all_days, '天')