【实验楼挑战】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详细使用可以参考:点击打开链接



挑战成功:


猜你喜欢

转载自blog.csdn.net/u014586129/article/details/79638710
今日推荐