-
用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)
subject1 = {'墨子', '小乔', '上官婉儿', '扁鹊', '诸葛亮', '赵云'} subject2 = {'上官婉儿', '猴子', '赵云', '李白', '凯'} subject3 = {'凯', '墨子', '上官婉儿', '后裔', '猴子', '扁鹊', '赵云'}
a. 求选课学生总共有多少人
students = subject1 | subject2 | subject3 print(len(students))
b. 求只选了第一个学科的人的数量和对应的名字
only_subject1 = (subject1 - subject2)- subject3 print(len(only_subject1),only_subject1)
c. 求只选了一门学科的学生的数量和对应的名字
only_one = subject1 ^ subject2 ^ subject3 - subject1 & subject2 & subject3 print(len(only_one),only_one)
d. 求只选了两门学科的学生的数量和对应的名字
only_two = subject1 & subject2 - subject3 print(len(only_two),only_two)
e. 求选了三门学生的学生的数量和对应的名字
only_three = subject1 & subject2 & subject3 print(only_three)
-
获取列表中出现次数最多的元素
nums = [2,2,3,4,4,5,4,4,4,4,5,5,5,3,3,3,5,5,3,3] dict = {} for i in nums: if i not in dict.keys(): dict[i] = nums.count(i) print(dict) j = 0 max_dictvalue = 0 for j in dict: if dict[j] > max_dictvalue: max_dictvalue = dict[j] x = j elif dict[j] == max_dictvalue: max_dictvalue = dict[j] print(f'元素{j}的次数最多,是{max_dictvalue}') else: print(f'元素{x}的次数最多,是{max_dictvalue}')
例如:nums = [1, 2, 3,1,4,2,1,3,7,3,3] —> 打印:3
nums = [1,2,2,1,3] --> 打印1、2
-
实现给定一个日期,判断这个日期是今年第几天的程序(尝试)
str = input('请输入年份(2022/12/31):') list = [31,28,31,30,31,30,31,31,30,31,30,31] str = str.split('/') year = int(str[0]) month = int(str[1]) day = int(str[2]) sum = 0 date = 0 print(year,type(year)) if month > 2: for i in range(1,len(list)+1): sum += list[i-1] # print(sum) while i == month: date = sum - list[i-1] + day if year % 4 == 0 and year % 100 != 0 or year % 400 == 0: print(f'您输入的年份是当年的{date + 1}天') break else: print(f'您输入的年份是当年的{date}天') break else: for i in range(1, len(list) + 1): sum += list[i - 1] while i == month: date = sum - list[i - 1] + day print(f'您输入的年份是当年的{date}天') break
例如:2022/12/31 --> 今年第365天;2022/1/1 --> 今年第1天
day8集合作业
于 2022-09-28 19:55:39 首次发布