-
用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)
str1 = {'张一', '张二', '张三', '张四', '张五', '李二', '王二'} str2 = {'李一', '李二', '李三', '张二', '王四', '张三'} str3 = {'王一', '王二', '王三', '王四', '张三'}
a. 求选课学生总共有多少人
print(len(str3 | str2 | str1))
b. 求只选了第一个学科的人的数量和对应的名字
print(len((str1 - str2) & (str1 - str3))) print((str1 - str2) & (str1 - str3))
c. 求只选了一门学科的学生的数量和对应的名字
print(len(str1 ^ str2 ^ str3 -(str1 & str2 & str3)) ) print(str1 ^ str2 ^ str3-(str1 & str2 & str3))
d. 求只选了两门学科的学生的数量和对应的名字
print(((str1 & str2) | (str3 & str2) | (str1 & str3)) - (str1 & str2 & str3)) print(len(((str1 & str2) | (str3 & str2) | (str1 & str3)) - (str1 & str2 & str3)))
e. 求选了三门学生的学生的数量和对应的名字
print(str1 & str2 & str3) print(len(str1 & str2 & str3))
-
获取列表中出现次数最多的元素
例如:nums = [1, 2, 3,1,4,2,1,3,7,3,3] —> 打印:3
nums = [1,2,2,1,3] --> 打印1、2
count_max = 0 nums1 = list(set(nums)) for x in nums1: result = nums.count(x) if result > count_max: count_max = result print(x) # nums2 = [1,2,2,1,3] count_max = 0 nums1 = list(set(nums2)) for x in nums1: result = nums2.count(x) if result >= count_max: count_max = result print(x)
-
实现给定一个日期,判断这个日期是今年第几天的程序(尝试)
例如:2022/12/31 --> 今年第365天;2022/1/1 --> 今年第1天
# str1 = int(input('请输入一个日期:')) date = '2022/03/05' # 提取年月日 year = int(date[0:4]) month = int(date[5:7]) day = int(date[-2:]) # 2) days = [31, 28, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30] # 每个月与下标的关系 # 1 -day # 2 - 0 + day (1) # 3 - 1 + day (2) # 4 - 2 + day if month == 1: total_days =day else: total_days = sum((days[:month-1])) + day if month > 2: if year % 4 == 0 and year % 100 != 0 or year % 400 ==0: total_days += 1 print(total_days)
day9集合作业
最新推荐文章于 2024-10-20 17:52:22 发布