10 统计

题目10、
考生工作盘下有一个mm.txt文件,里面存放着学生毕业设计的分数,编写程序文件cx10.py,统计学生毕业设计各等级的人数,具体要求如下:
1)定义一个函数fs(),该函数可以读取mm.txt文件里的学生分数,并实现分词存放到列表ls中。
2)定义一个函数dj(s),其中参数s 指代被统计的列表,该函数可以统计该班学生毕业设计的等级情况:评定设计(论文)总成绩分数,对应成绩等级为:优(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、不及格(<60分)。并将统计结果放在字典d中。
3)利用上面两个函数,读出文件mm.txt中的分数,将这些分数按等级进行人数统计,统计结果按各等级人数降序的方式进行输出,运行结果如下图所示:

def fs():
    x=open("data.txt").read()#read 函数从打开的文件中读取数据    
    ls=list(map(int,x.split(",")))#以,分割数据并转换为整型数字储存在列表中
    return ls#返回列表
def dj(s):
    d={}#空字典
    for i in s:
        if i>= 90:
            d['优秀']=d.get('优秀',0)+1
        elif i>= 80:
            d['良好']=d.get('良好',0)+1
        elif i>= 70:
            d['中等']=d.get('中等',0)+1
        elif i>= 60:
            d['及格']=d.get('及格',0)+1
        else:
            d['不及格']=d.get('不及格',0)+1
    return d

score = fs()
print("学生分数:",end="")#不分行
for i in score:
    print(i,end="  ")#数值间以空格分隔
dic=dj(score)#统计分数每等级人数,放入字典
counts=list(dic.items())#返回可遍历的(键, 值) 元组数组,转换为列表
counts.sort(key=lambda x:x[1],reverse=True)#以等级人数从大到小排序,分类
print("\n分等级统计结果排序:")#换行
for i in counts:
    print("{}:{}人".format(i[0],i[1]))
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值