1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明)
students = {'name': 'xi yu', 'age': 23, 'score': 88, 'tel': 198, 'sex': '男'}
2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
classes = [
{'name': '古天乐', 'age': 26, 'score': 90, 'tel': 123, 'sex':'男'},
{'name': '梁朝伟', 'age': 13, 'score': 89, 'tel': 228, 'sex':'女'},
{'name': '刘青云', 'age': 22, 'score': 77, 'tel': 339, 'sex':'男'},
{'name': '张家辉', 'age': 34, 'score': 56, 'tel': 667, 'sex':'不明'},
{'name': '刘德华', 'age': 15, 'score': 34, 'tel': 555, 'sex':'女'},
{'name': '陈奕迅', 'age': 20, 'score': 70, 'tel': 798, 'sex':'不明'}
]
a.统计不及格学生的个数
count = 0
for stu in classes:
if stu['score'] < 60:
count += 1
print(count)
b.打印不及格学生的名字和对应的成绩
for x in classes:
if x['score'] < 60:
print(x['name'], x['score'])
c.统计未成年学生的个数
count = 0
for num in classes:
if num['age'] < 18:
count += 1
print(count)
d.打印手机尾号是8的学生的名字
for x in classes:
if x['tel'][-1] == 8:
print(x['name'])
e.打印最高分和对应的学生的名字
for x in classes:
if x['score']:
print(x)
f.删除性别不明的所有学生
for student in classes:
if (student['sex'] != '男') and (student['sex'] != '女'): stu.remove(student)
print(classes)
g.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
3.用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)
X = {'刘德华', '张家辉', '古天乐', '张学友'}
Y = {'刘德华', '郭富城', '刘青云'}
Z = {'郭富城', '张家辉','古天乐'}
a. 求选课学生总共有多少人
n = X | Y | Z
b. 求只选了第一个学科的人的数量和对应的名字
count = 0
for n in X:
if n not in (B | C):
count += 1
print(count)
c. 求只选了一门学科的学生的数量和对应的名字
d. 求只选了两门学科的学生的数量和对应的名字
e. 求选了三门学生的学生的数量和对应的名字