def classify(listT):
    """将应聘者分类"""
    a = []
    b = []
    c = []
    d = []
    for applicant in listT:
        practice_score = int(applicant[1])
        written_score = int(applicant[2])
        if practice_score >= 60 and written_score >= 60:
            if practice_score >= 85 and written_score >= 85:
                a.append(applicant)
            elif practice_score >= 85 and written_score < 85:
                b.append(applicant)
            elif practice_score < 85 and written_score >= 85:
                c.append(applicant)
            else:
                d.append(applicant)
    return a, b, c, d

def admissionSort(a, b, c, d):
    """将四类应聘者按要求排序"""
    admissionList = sorted(a, key=lambda x : (-(int(x[1])+int(x[2])),-int(x[1]),int(x[0])))
    admissionList += sorted(b, key=lambda x : (-(int(x[1])+int(x[2])),-int(x[1]),int(x[0])))
    admissionList += sorted(c, key=lambda x : (-(int(x[1])+int(x[2])),-int(x[1]),int(x[0])))
    admissionList += sorted(d, key=lambda x : (-(int(x[1])+int(x[2])),-int(x[1]),int(x[0])))
    return admissionList

def 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/pOGu 著作权归作者所有。请勿转载和采集!

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