程序片段编程题
1. 题库:名单去重,集合的基本操作
【问题描述】
录入两份学生名单,采用集合的特点去掉重名,输出同时出现在两个名单里的人,输出两份名单里所有的人(去掉重名)
【样例输入】
William,Jefferson,Clinton,George,Bush,George
Jack,Jefferson,Lee,George,Wang,Jefferson
【样例输出】
[‘George’, ‘Jefferson’]
[‘Bush’, ‘Clinton’, ‘George’, ‘Jack’, ‘Jefferson’, ‘Lee’, ‘Wang’, ‘William’]
【样例说明】
输入分别是以逗号分隔开的学生名单
输出第一行:同时出现在两份名单中的人,升序排列
输出第二行:两份名单中的所有人,升序排列
StudentList1 = input().split(',')
StudentList2 = input().split(',')
StudentSet1,StudentSet2 = set(StudentList1),set(StudentList2)
set1 = StudentSet1&StudentSet2
#得到同时出现在两份名单中的人
set2 = StudentSet1|StudentSet2 #得到两份名单中的所有人
print(sorted(list(set1)))
print(sorted(list(set2)))
2. 题库:提取学生信息和平均成绩
【问题描述】
录入学生的基本信息,取得学生的姓名、性别和平均成绩(科目数量不确定,但至少有一项)
【样例输入】
‘2001001’,‘Zhang San’,‘male’,65,False,[76,90,85]
【样例输出】
(‘Zhang San’, ‘male’)
83.67
【样例说明】
输入分别是以逗号分隔开的学号,姓名,性别,年龄,是否少数民族,成绩表
输出第一行:元组形式表示的学生姓名和性别
输出第二行:该生的平均成绩,保留两位小数
student = eval(input())
info = (student[1],student[2])
avg = sum(student[5])/len(student[5])
print(info)
print("%.2f"%avg)