3.26

python-班级人员信息统计
 

输入a,b班的名单,并进行如下统计。

第1行::a班名单,一串字符串,每个字符代表一个学生,无空格,可能有重复字符。
第2行::b班名单,一串字符串,每个学生名称以1个或多个空格分隔,可能有重复学生。
第3行::参加acm竞赛的学生,一串字符串,每个学生名称以1个或多个空格分隔。
第4行:参加英语竞赛的学生,一串字符串,每个学生名称以1个或多个空格分隔。
第5行:转学的人(只有1个人)。

a = input()
seta = set(a)
b = input()
setb = set(b.split())
acm = input()
setacm = set(acm.split())
english = input()
setenglish = set(english.split())
zhuanxue = input()
Total = seta.union(setb)
race = setacm.union(setenglish)
Notinrace = Total.difference(race)
ACMplusEnglish = setacm.intersection(setenglish)
OnlyACM = setacm.difference(setenglish)
OnlyEnglish = setenglish.difference(setacm)
ACMOrEnglish = setacm.symmetric_difference(setenglish)
print("Total:",len(seta.union(setb)))
print("Not in race:",sorted(Notinrace),end=", ")
print("num:",len(Notinrace))
print("All racers:",sorted(race),end=", ")
print("num:",len(race))
print("ACM + English:",sorted(ACMplusEnglish),end=", ")
print("num:",len(ACMplusEnglish))
print("Only ACM:",sorted(OnlyACM))
print("Only English:",sorted(OnlyEnglish))
print("ACM Or English:",sorted(ACMOrEnglish))
if zhuanxue in seta:
seta.remove(zhuanxue)
print(sorted(seta))
elif zhuanxue in setb:
setb.remove(zhuanxue)
print(sorted(setb))

posted @ 2024-03-26 17:01  涨涨涨张  阅读(2)  评论(0编辑  收藏  举报