1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明)
student1={'姓名': '小明', '性别': '男', '年龄': 20, '成绩(单科)':91,'联系方式': 123}
2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
a.统计不及格学生的个数
b.打印不及格学生的名字和对应的成绩
c.统计未成年学生的个数
d.打印手机尾号是8的学生的名字
e.打印最高分和对应的学生的名字
f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
g.删除性别不明的所有学生
student1={'姓名': '小明', '性别': '男', '年龄': 16, '成绩(单科)':54,'联系方式': 123}
student2={'姓名': '小红', '性别': '女', '年龄': 22, '成绩(单科)':91,'联系方式': 234}
student3={'姓名': '小李', '性别': '不明', '年龄': 22, '成绩(单科)':44,'联系方式': 345}
student4={'姓名': '小美', '性别': '不明', '年龄': 15, '成绩(单科)':63,'联系方式': 456}
student5={'姓名': '李雷', '性别': '男', '年龄': 21, '成绩(单科)':81,'联系方式': 567}
student6={'姓名': '韩梅梅', '性别': '女', '年龄': 27, '成绩(单科)':99,'联系方式': 678}
list1=[student1,student2,student3,student4,student5,student6]
num=0
for x in list1:
if x['成绩(单科)']<60:
num+=1
print(x['姓名'],x['成绩(单科)'])#b.打印不及格学生的名字和对应的成绩
print(num)#a.统计不及格学生的个数
c.统计未成年学生的个数
for x in list1:
if x['年龄']<18:
num+=1
print(num)
d.打印手机尾号是8的学生的名字
for x in list1:
list2=x['联系方式']
if list2%10==8:
print(x['姓名'])
e.打印最高分和对应的学生的名字
a=[0]
for x in list1:
if x['成绩(单科)']>a[0]:#a[下标]下标操作
a = x['成绩(单科)'], x['姓名']
print(a)
f.将列表按学生成绩从大到小排序
a=[0]
b=[]
c=[]
for x in list1:
c.append(x['成绩(单科)'])
d=sorted(c,reverse=True)
for y in range(len(d)):
for x in list1:
if d[y]==x['成绩(单科)']:
d[y]=x
print(d)
g.删除性别不明的所有学生g.删除性别不明的所有学生
for x in list1:
if x['性别']=='不明':
list1.remove(x)
print(list1)
3.用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)
a. 求选课学生总共有多少人
b. 求只选了第一个学科的人的数量和对应的名字
c. 求只选了一门学科的学生的数量和对应的名字
d. 求只选了两门学科的学生的数量和对应的名字
e. 求选了三门学生的学生的数量和对应的名字
tianzai=['谜团','斧王','剑圣','莱恩','小Y','幽鬼','食尸鬼','白牛',]
jinwei=['谜团','火枪','剑圣','莱恩','小Y','风行','蓝猫','斧王']
zhongli=['风行','蓝猫','剑圣','莱恩','小Y','火猫','幽鬼','食尸鬼']
a. 求选课学生总共有多少人
list1=list(set(jinwei+tianzai+zhongli))
print(list1)
b. 求只选了第一个学科的人的数量和对应的名字
list2=list(set(tianzai)-set(jinwei)-set(zhongli))
print(list2)
c. 求只选一个学科的人的数量和对应的名字
set2=set(tianzai+jinwei+zhongli)
list3=list((set2-set(tianzai+jinwei))|(set2-set(jinwei+zhongli))|(set2-set(tianzai+zhongli)))
print(list3)
d. 求只选了两门学科的学生的数量和对应的名字
list4=list(((set(tianzai)&set(jinwei))|(set(tianzai)&set(zhongli)))^(set(jinwei)&set(zhongli)))
print(list4)
e. 求选了三门学生的学生的数量和对应的名字
list5=list(set(tianzai)&set(jinwei)&set(zhongli))
print(list5)