1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话
student0={'姓名':'张三丰','年龄':24,'成绩':98,'电话':13187689999}
print(student0)
2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
student1={'姓名':'张翠山','年龄':36,'成绩':78,'电话':13187689991}
student2={'姓名':'张无忌','年龄':16,'成绩':95,'电话':13187649998}
student3={'姓名':'赵敏','年龄':17,'成绩':55,'电话':15687689923}
student4={'姓名':'杨逍','年龄':34,'成绩':87,'电话':1163768987}
student5={'姓名':'成昆','年龄':38,'成绩':59,'电话':18187684562}
student6={'姓名':'谢逊','年龄':44,'成绩':90,'电话':15876834565}
a.统计不及格学生的个数
list_student=[student1,student2,student3,student4,student5,student6,]
n=0
for i in list_student:
if i['成绩']<60:
n+=1
print('不及格个数:',n)
b.打印不及格学生的名字和对应的成绩
for i in list_student:
if i['成绩']<60:
name=i['姓名']
print('不及格人的姓名:',name)
c.统计未成年学生的个数
n=0
for i in list_student:
if i['年龄'] < 18:
n += 1
print('未成年个数:', n)
#d.打印手机尾号是8的学生的名字
for i in list_student:
if int(i['电话'])%(10000000000)==0:
name=i['姓名']
print('电话尾号是8的学生:',name)
e.打印最高分和对应的学生的名字
s=0
for i in list_student:
if int(i['成绩'])>=s:
s=int(i['成绩'])
print('第一名:',i['姓名'],i['成绩'])
f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
列表.sort(reverse=True)
s=[]
for i in list_student:
s=int(i['成绩'])
s.sort(reverse=True)
print(s)
3.用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)
course1=['郭靖','黄蓉','周伯通','杨康']
course2=['郭靖','杨过','黄药师','小龙女']
course3=['郭靖','郭襄','周伯通','欧阳锋']
a. 求选课学生总共有多少人
set_course1=set(course1)
set_course2=set(course2)
set_course3=set(course3)
set_course4=set_course1 | set_course2 | set_course3
print('选课总人数:',len(set_course4))
b. 求只选了第一个学科的人的数量和对应的名字
set_course5=set_course1 - set_course2 - set_course3
print('只选第一课程的学生:',set_course5)
c. 求只选了一门学科的学生的数量和对应的名字
set_course6=set_course1 & set_course2 & set_course3
set_course7=set_course1 & set_course2
set_course8=set_course2 & set_course3
set_course9=set_course1 &set_course3
set_course10=set_course4-set_course6-set_course7-set_course8-set_course9
print('只选一门课程的学生:',set_course10)
d. 求只选了两门学科的学生的数量和对应的名字
set_course11=set_course7 | set_course8 | set_course9
print('只选2门课程的学生:',set_course11)
e. 求选了三门学生的学生的数量和对应的名字
print('只选3门课程的学生:',set_course6)