【成绩排序】每日一练(三)

#  -*-    coding: utf-8    -*-

'''

Author: YTNetMan
Date: 2022-04-25
File: 成绩排名.py
功能:

'''
#初始学生列表
student = [
    {'name': '小亮', '语文': 93, '数学': 69, '英语': 75},
    {'name': '小明', '语文': 85, '数学': 96, '英语': 99},
    {'name': '小红', '语文': 72, '数学': 80, '英语': 91}
    ]   # 保存学生成绩的列表
# 给字典添加两组数据
for a in student:
    a1l = int(a.get('语文')+a.get('数学')+a.get('英语'))       #总成绩
    avg = float('%.2f'%((a.get('语文')+a.get('数学')+a.get('英语'))/3))  #平均分,格式化
    a['总成绩'] = a1l
    a['平均分'] = avg
print(student)              # 新列表

student.sort(key=lambda x : x['总成绩'],reverse = True)  #按总成绩排序
print(student)             # 排序后的列表
n=0                        #排名初始值
#平均分表现
for i in student:
    n=n+1
    if int(i.get('平均分')) >= 90:
        avg1 = '优'
    elif 80 <= int(i.get('平均分')) < 90 :
        avg1 = '良'
    elif 60 <= int(i.get('平均分')) < 80:
        avg1 = '中'
    else:
        avg1 = '差'

    print("第%d名是:%s,总成绩为%d分,表现%s"%(n,i.get('name'),i.get('总成绩'),avg1))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YTNetMan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值