7-9 jmu-python-班級人員信息統計
分數 15
作者 鄭如濱
單位 集美大學
輸入a,b班的名單,并進行如下統計。
輸入格式:
第1行::a班名單,一串字符串,每個字符代表一個學生,無空格,可能有重復字符。
第2行::b班名單,一串字符串,每個學生名稱以1個或多個空格分隔,可能有重復學生。
第3行::參加acm競賽的學生,一串字符串,每個學生名稱以1個或多個空格分隔。
第4行:參加英語競賽的學生,一串字符串,每個學生名稱以1個或多個空格分隔。
第5行:轉學的人(只有1個人)。
輸出格式
特別注意:輸出人員名單的時候需調用sorted函數,如集合為x,則print(sorted(x))
輸出兩個班級的所有人員數量
輸出兩個班級中既沒有參加ACM,也沒有參加English的名單和數量
輸出所有參加競賽的人員的名單和數量
輸出既參加了ACM,又參加了英語競賽的所有人員及數量
輸出參加了ACM,未參加英語競賽的所有人員名單
輸出參加英語競賽,未參加ACM的所有人員名單
輸出參加只參加ACM或只參加英語競賽的人員名單
最后一行:一個同學要轉學,首先需要判斷該學生在哪個班級,然后更新該班級名單,并輸出。如果沒有在任何一班級,什么也不做。
輸入樣例:
abcdefghijab
1 2 3 4 5 6 7 8 9 10
1 2 3 a b c
1 5 10 a d e f
a
輸出樣例:
Total: 20
Not in race: [‘4’, ‘6’, ‘7’, ‘8’, ‘9’, ‘g’, ‘h’, ‘i’, ‘j’], num: 9
All racers: [‘1’, ‘10’, ‘2’, ‘3’, ‘5’, ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’], num: 11
ACM + English: [‘1’, ‘a’], num: 2
Only ACM: [‘2’, ‘3’, ‘b’, ‘c’]
Only English: [‘10’, ‘5’, ‘d’, ‘e’, ‘f’]
ACM Or English: [‘10’, ‘2’, ‘3’, ‘5’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’]
[‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’]
代碼長度限制
16 KB
時間限制
400 ms
內存限制
64 MB
a = set(input())
b = set(input().split())
acm = set(input().split())
eng = set(input().split())
tra = input()
print(f"Total: {len(a) + len(b)}")
print(f"Not in race: {sorted(((a|b)-acm-eng))}, num: {len(((a|b)-acm-eng))}")
print(f"All racers: {sorted(acm | eng)}, num: {len(acm|eng)}")
print(f"ACM + English: {sorted(acm & eng)}, num: {len(acm&eng)}")
print(f"Only ACM: {sorted(acm - eng)}")
print(f"Only English: {sorted(eng - acm)}")
print(f"ACM Or English: {sorted(acm ^ eng)}")
if tra in a:print(sorted(a-set(tra)))
elif tra in b:print(sorted(b-set(tra)))
# print(f"ACM + English: {sorted(acm & eng)}")