【实验楼挑战】Python3简明教程:类和Collection模块

要求:改写在第11节类这个模块当中 2.3 继承 部分的 student_teacher.py 脚本,在Person()类中增添函数get_grade()。对于教师类,该函数可以自动统计出老师班上学生的得分情况并按照频率的高低以A: X, B: X, C: X, D: X 的形式打印出来。对于学生类,该函数则可以以Pass: X, Fail: X 来统计自己的成绩情况(A,B,C 为 Pass, 如果得了 D 就认为是 Fail)

解题思路:

对学生而言,D的个数即为Fail的个数,用输入参数的长度减去D的个数即为Pass的个数,如何获取D的个数?使用collection的Counter对象实现计数统计。

对老师而言,需要分别统计每个元素的个数,而Counter恰好完成了这件事,Counter后的结果可以近似看成是字典,因此需要做的是将遍历字典后的结果,按照要求的格式进行表示,在此本人是将每个元素的新格式(如 A: 3)以一个元素放入列表中,再用", "符号用join将列表中的所有元素连接起来。

Counter详细使用可以参考:点击打开链接



挑战成功:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值