学生信息管理操作

用字典来保存学生的信息.


  • 学生信息包括:学号(id)、姓名(name)、性别(sex)、语文成绩(verbal)、数学成绩(math)、联系电话(tel)
students = [
    {'id': 1001, 'name': '周伟',  'sex': None, 'verbal': 90, 'math': 90, 'tel': '13512345670'},
    {'id': 1002, 'name': '赵刚',  'sex': True, 'verbal': 56, 'math': 80, 'tel': '13512345678'},
    {'id': 1003, 'name': '李强',  'sex': True, 'verbal': 48, 'math': 70, 'tel': '13512345680'},
    {'id': 1004, 'name': '刘毅',  'sex': None, 'verbal': 92, 'math': 60, 'tel': '13512345688'},
    {'id': 1005, 'name': '孙坚',  'sex': True, 'verbal': 85, 'math': 50, 'tel': '13512345698'},
    {'id': 1006, 'name': '王小美',  'sex': False, 'verbal': 37, 'math': 40, 'tel': '13512345699'},
]
  1. 输出语文成绩不及格学生的人数(假设成绩为百分制,及格分数为60分)。

    failed_Chinese_num = len(list(filter(lambda x:x['verbal']<60,students)))
    print(failed_Chinese_num)
    
  2. 输出数学成绩不及格学生的学号、姓名和成绩(假设成绩为百分制,及格分数为60分)。

    failed_math= list(filter(lambda x:x['math']<60,students))
    for i in failed_math:
        print(i['id'],i['name'],i['verbal'])
    
  3. 输出联系电话尾号为8的学生的学号和姓名。

    res = list(filter(lambda x:x['tel'][-1]=='8',students))
    for i in res:
        print(i['id'],i['name'])
    
  4. 删除学生列表中性别为None的学生。

    for i in students:
        if not i['sex']:
            students.remove(i)
    
  5. 输出男学生和女学生的平均成绩(分别为语文和数学两门课程)。

    male = [] # 男生成绩列表
    female = [] # 女生成绩列表
    
    for student in students:
        if student['sex']:
            male.append([student['verbal'],student['math']])
        else:
            female.append([student['verbal'],student['math']]) 
            
    sum_male_verbal=0       男生语文总成绩
    sum_male_math=0			男生数学总成绩
    sum_female_verbal=0		女生语文总成绩
    sum_female_math=0		女生数学总成绩
    
    for verbal in male:
        sum_male_verbal += verbal[0]
    print("男生语文平均成绩:",sum_male_verbal/len(male))
    for math in male:
        sum_male_math += math[1]
    print("男生数学平均成绩:",sum_male_math/len(male))
    for verbal in female:
        sum_female_verbal += verbal[0]
    print("女生语文平均成绩:",sum_female_verbal/len(female))
    for math in male:
        sum_female_math += math[1]
    print("女生数学平均成绩:",sum_female_math/len(female))
    
  • 非常感谢小伙伴们能看到这里,如果能还能点个赞,那就是对我最大的鼓励!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值