-
定义一个列表,在列表中保存6个学生的信息(学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) )
students = [ {'name': 'Amy', 'age':'18', 'score':78, 'Tel':'17745468818', 'gender':'女'}, {'name': 'Ben', 'age':'20', 'score':100, 'Tel':'15828597557', 'gender':'男'}, {'name': 'Nancy', 'age':'22', 'score':60, 'Tel':'15108348975', 'gender':'女'}, {'name': 'Juli', 'age':'25', 'score':12, 'Tel':'15102820528', 'gender':'女'}, {'name': 'Ivy', 'age':'15', 'score':80, 'Tel':'13683458085', 'gender':'不明'}, {'name': 'Jack', 'age':'17', 'score':89, 'Tel':'12345678910', 'gender':'男'} ]
-
统计不及格学生的个数
count_score = 0 for item in students: if item['score'] < 60: count_score +=1 print('不及格的学生个数:',count_score)
-
打印不及格学生的名字和对应的成绩
print('不及格的学生名字和对应成绩') for item in students: if item['score']<60: print('姓名:',item['name'],'成绩:',item['score'])
-
打印手机尾号是8的学生的名字
for stu in students: if stu['Tel'][-1] == '8': print('姓名:',stu['name'])
-
打印最高分和对应的学生的名字
stu_name = '' max_score = 0 for stu in students: if stu['score']>max_score: max_score=stu['score'] stu_name=stu['name'] print('分数最高学生的姓名:',stu_name)
-
删除性别不明的所有学生
for stu in students.copy(): if stu['gender'] == '不明': students.remove(stu) print(students)
-
将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
sort_students = sorted(students, key=lambda students: students["score"],reverse=True) print(sort_students)
for index in range(len(students)): for next in range(0,len(students)-index-1): if students[next]['score']<students[next+1]['score']: students[next],students[next+1] = students[next+1],students[next] print(students)
-
-
用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)
biology = {'陆景和','左然','夏彦','莫奕','蔷薇'} math = {'陆景和','左然','夏彦','莫奕','蔷薇','Ivy','ben'} English = {'左然','夏彦','莫奕','Ivy','Jack'}
-
求选课学生总共有多少人
print(len(biology|math|English))
-
求只选了第一个学科的人的数量和对应的名字
print(biology-(math|English))
-
求只选了一门学科的学生的数量和对应的名字
set1 = biology - (math | English) | math - (biology | English) | English - (biology | math) print('只选了一门学科的学生的数量:', len(set1), '学生姓名:', *list(set1))
-
求只选了两门学科的学生的数量和对应的名字
set2=(biology & math - English)|(biology & English - math)|(English & math - biology) print('只选了两门学科的学生的数量:', len(set2), '学生姓名:', *list(set2))
-
求选了三门学生的学生的数量和对应的名字
set3 = biology & math & English print('选了三门学生的学生的数量:', len(set3), '学生姓名:', *list(set3))
-