def classify(listT):"""将应聘者按照要求分成四类"""a, b, c, d = [], [], [], []for i in listT:score = int(i[1]) + int(i[2])if score >= 140 and int(i[1]) >= 80 and int(i[2]) >= 80:a.append(i)elif score >= 140 and int(i[1]) >= 80 and int(i[2]) < 80:b.append(i)elif score >= 140 and int(i[1]) < 80 and int(i[2]) >= 80:c.append(i)elif score >= 130:d.append(i)return a, b, c, ddef admissionSort(a, b, c, d):"""对四类应聘者按照要求排序"""a.sort(key=lambda x: (-(int(x[1]) + int(x[2])), -int(x[1]), int(x[0])))b.sort(key=lambda x: (-(int(x[1]) + int(x[2])), -int(x[1]), int(x[0])))c.sort(key=lambda x: (-(int(x[1]) + int(x[2])), -int(x[1]), int(x[0])))d.sort(key=lambda x: (-(int(x[1]) + int(x[2])), -int(x[1]), int(x[0])))return a + b + c + ddef getdata():"""从文件读取应聘者信息"""s = []while True:line = input()if not line:break s.append(line.split())return sdef myPrintL(listA):"""输出录取人数和按录取顺序排列的应聘者名单"""print("上线人数", len(listA))for j in listA:print(" ".join(j))def main():listA = getdata() # 获取原始数据a, b, c, d = classify(listA)admissionList = admissionSort(a, b, c, d) # 生成录取顺序名单myPrintL(admissionList)main()


原文地址: https://www.cveoy.top/t/topic/pOGn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录