作业

发布于 2023-04-11  83 次阅读


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

s_history = {'小明', "张三", '李四', "王五", 'Lily', "Bob"}

s_politic = {'小明', "小花", '小红', "二狗"}

s_english = {'小明', 'Lily', "Bob", "Davil", "李四"}

s_history = {'小明', "张三", '李四', "王五", 'Lily', "Bob"}
s_politic = {'小明', "小花", '小红', "二狗"}
s_english = {'小明', 'Lily', "Bob", "Davil", "李四"}
  1. 求选课学生总共有多少人
  2. 求只选了第一个学科的人的数量和对应的名字
  3. 求只选了一门学科的学生的数量和对应的名字

第一问

print("选课学生总共有", len(s_english | s_politic | s_history), '人')

第二问

print('只选了第一个学科的人的数量:', len(s_history - s_politic - s_english), '姓名:', s_history - s_politic - s_english)

第三问

s1 = s_history - s_politic - s_english
s2 = s_english - s_politic - s_history
s3 = s_politic - s_english - s_history
print('只选了一门学科的学生的数量:', len(s1 | s2 | s3), '姓名:', s1 | s2 | s3) 

答案来源