程序填空题:选修人数统计-集合运算
以下程序用于实现:
本学期学校共开设3门选修课,一个班由25位同学,按课程分3行输入选修的同学姓名,例如输入样例所示(后台测试数据是其他名单)。
请编写程序实现选修情况的统计,如输出样例所示。
**可用以下输入输出样例测试程序是否正确**
##### 输入样例:
三行分别输入三门课的选修名单:
in
李雷、张玉、王晓刚、陈红静、方向、司马清
施小冉、李芳芳、刘潇、方向、孙一航、黄煌
陈红静、方向、刘培良、张玉、施小冉、司马清
##### 输出样例:
输出按课程统计结果:
out
这个班有13位学生没有选课。
有4位同学同时选修了2门课。
有1位同学同时选修了3门课。
有7位同学只选修了1门课。
**请复制以下代码在IDLE中完成填写并调试,正确后再填入本题空白处。**
c++
#输入选修名单,处理成集合
set1=
set2=
set3=
setall= #所有有选课的学生
print("这个班有{}位学生没有选课。".format())
setall2=
print("有{}位同学同时选修了2门课。".format())
setall3=
print("有{}位同学同时选修了3门课。".format( ))
setall1=
print("有{}位同学只选修了1门课。".format( ))
答案:
第1空:set(input().split("、"))
第2空:set(input().split("、"))
第3空:set(input().split("、"))
第4空:set1 | set2 | set3
第5空: 25-len(setall)
第6空:set1&set2-set3|set2&set3-set1|set1&set3-set2
第7空: len(setall2)
第8空:set1 & set2 & set3
第9空: len(setall3)
第10空:setall-setall2-setall3
第11空:len(setall1)
本学期学校共开设3门选修课,一个班由25位同学,按课程分3行输入选修的同学姓名,例如输入样例所示(后台测试数据是其他名单)。
请编写程序实现选修情况的统计,如输出样例所示。
**可用以下输入输出样例测试程序是否正确**
##### 输入样例:
三行分别输入三门课的选修名单:
in
李雷、张玉、王晓刚、陈红静、方向、司马清
施小冉、李芳芳、刘潇、方向、孙一航、黄煌
陈红静、方向、刘培良、张玉、施小冉、司马清
##### 输出样例:
输出按课程统计结果:
out
这个班有13位学生没有选课。
有4位同学同时选修了2门课。
有1位同学同时选修了3门课。
有7位同学只选修了1门课。
**请复制以下代码在IDLE中完成填写并调试,正确后再填入本题空白处。**
c++
#输入选修名单,处理成集合
set1=
set2=
set3=
setall= #所有有选课的学生
print("这个班有{}位学生没有选课。".format())
setall2=
print("有{}位同学同时选修了2门课。".format())
setall3=
print("有{}位同学同时选修了3门课。".format( ))
setall1=
print("有{}位同学只选修了1门课。".format( ))
答案:
第1空:set(input().split("、"))
第2空:set(input().split("、"))
第3空:set(input().split("、"))
第4空:set1 | set2 | set3
第5空: 25-len(setall)
第6空:set1&set2-set3|set2&set3-set1|set1&set3-set2
第7空: len(setall2)
第8空:set1 & set2 & set3
第9空: len(setall3)
第10空:setall-setall2-setall3
第11空:len(setall1)