乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范。从小白开始逐步掌握用编程解决问题。
PAT (Basic Level) Practice 1085 PAT单位排行
问题分析
- 题设给定了一组学生的信息(准考证号, 得分, 学校), 要求以学校为单位, 统计每个学校的考生人数以及加权总分。
- 然后将统计结果按照分数排名, 按照排名由高到低输出各个学校的排名、名称、加权总分和考生人数。
- 所以过程主要分为统计(数据存储)和排序输出两个部分
完整描述步骤
- 获取输入: 考生人数, 各个考生信息
- 将考生信息按照学校排序
- 初始化记录器:
- 学校信息 = {}
- 对于每一个考生:
- 学校信息[考生.所属学校].总分 = 考生.成绩 * 权重
- 将学校信息按照总分进行排序
- 输出各个学校的排名和考生人数
伪代码描述
- get input: student_amount, students
- init recorder:
- all_schools = {}
- current_school_index = -1;
- sort students by school_name
- for student_index in range(0, len(students)):
- if index &