day7字典和集合作业

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. 求选了三门学生的学生的数量和对应的名字

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值