PTA 1083 List Grades (25 分)

简介: 代码如下

题目


Given a list of N student records with name, ID and grade. You are supposed to sort the records with respect to the grade in non-increasing order, and output those student records of which the grades are in a given interval.


Input Specification: Each input file contains one test case. Each case is given in the following format:


N name[1] ID[1] grade[1] name[2] ID[2] grade[2] ... ... name[N] ID[N] grade[N] grade1 grade2 where name[i] and ID[i] are strings of no more than 10 characters with no space, grade[i] is an integer in [0, 100], grade1 and grade2 are the boundaries of the grade's interval. It is guaranteed that all the grades are distinct.


Output Specification: For each test case you should output the student records of which the grades are in the given interval [grade1, grade2] and are in non-increasing order. Each student record occupies a line with the student's name and ID, separated by one space. If there is no student's grade in that interval, output NONE instead.


Sample Input 1:
4
Tom CS000001 59
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95
60 100
结尾无空行
Sample Output 1:
Mike CS991301
Mary EE990830
Joe Math990112
结尾无空行
Sample Input 2:
2
Jean AA980920 60
Ann CS01 80
90 95
结尾无空行
Sample Output 2:
NONE
结尾无空行


解题思路


N = int(input())
# N = int("4")
inputList = []
for _ in range(N):
    name, ID, grade = map(str,input().split())
    # name, ID, grade = map(str, "Joe Math990112 89".split())
    inputList.append([name,ID,int(grade)])
grade1, grade2 = map(int,input().split())
# grade1, grade2 = map(int,"60 100".split())
resList = []
for each in inputList:
    if each[2]>= grade1 and each[2] <= grade2:
        resList.append(each)
# 排序输出
resList.sort(key=lambda x:-x[2])
if len(resList) == 0:
    print("NONE")
else:
    for each in resList:
        print(each[0],each[1])


目录
相关文章
|
存储 C++
【PAT甲级 - C++题解】1083 List Grades
【PAT甲级 - C++题解】1083 List Grades
78 0
【1083】List Grades (25 分)
【1083】List Grades (25 分) 【1083】List Grades (25 分)
104 0
1083. List Grades (25) 好久没做过这么简单的题目了
//思路:按照成绩的非递增顺序排序 输出给定区间的name和id #include #include #include #include #include using namespace std; struct ...
909 0
|
6月前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
1032 1
|
5月前
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。
|
5月前
|
运维 关系型数据库 Java
PolarDB产品使用问题之使用List或Range分区表时,Java代码是否需要进行改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
5月前
|
存储 安全 Java
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
|
6月前
|
Java API
使用 Java 来实现两个 List 的差集操作
使用 Java 来实现两个 List 的差集操作
214 3
|
5月前
|
存储 Java 索引
Java List接口实现原理与性能评估
Java List接口实现原理与性能评估
|
5月前
|
存储 缓存 安全
Java List操作详解及常用方法
Java List操作详解及常用方法