首先定义一个函数 GeneralGrade,期中包含中考分数M_exam、末考分数E_exam、中考占比Rate 三个参数,Rate参数缺省的话取值0.4 ;函数首先按比例将中考、末考成绩折算为总评分数,然后将总评分数转换为等级制(A、B、C、D、F)以字符串形式返回, 其中A(>=90)、B( 80+)、C(70+)、D(60+)、F(60以下)。 #初始状态,有以下两批次的成绩单,包括以下四个字典 mid_exam={"Tommy":78,"Jarry":89,"Sunny":93,"Honey":78,"Lily":80} #期中考试成绩主成绩单 姓名:分数 end_exam={"Tommy":60,"Jarry":69,"Sunny":88,"Honey":61,"Lily":88} #期末考试成绩主成绩单 姓名:分数 mid_exam0={"Money":56,"Crazy":99,"Windy":75,"Cloudy":87,"Lily":68} #期中考试成绩单补充材料 end_exam0={"Money":66,"Cloudy":94,"Crazy":77,"Windy":82,"Lily":90} #期末考试成绩单补充材料 在此基础上,接下来设计主程序程序完成以下任务 : 1. 将其中、期末的补充成绩单合并到主成绩单中,成绩不一致的以补充材料为准; 2.使用空的Input函数接收键盘输入一个纯小数赋值给rate,确定总评成绩中 期中考试分数的占比,然后以此为依据,使用开篇自定义的函数计算每个学生的总评成绩(等级制),生成一个包含所有学生的新字典Total_score,条目结构为 姓名: [期中,期末,总评等级] ; 注意:计算之前判断rate是否为0--1之间的纯小数,是的话 三个参数调用自定义函数GeneralGrade,否则本次输入的rate数据作废, 使用两个参数调用自定义函数GeneralGrade,rate取函数缺省值进行计算。 3. 使用空的Input函数接收键盘输入一个学生姓名(大小写通用),按姓名查找其详细成绩并以列表形式打印输出,以空格结束; 4.提取所有人的总评成绩的等级组成一个集合Grades,循环检测集合中缺少的成绩类型并输出,每个输出都以空格结束。 输入描述 无任何提示信息的input(),输入一个纯小数,如: 0.4 无任何提示信息的input(),输入学生姓名,如:sunny 输出描述 [78, 61, 'C'] F 样例输入1: 0.6 Honey 样例输出1: [78, 61, 'C'] F 样例输入2: 0.6 honey 样例输出2: [78, 61, 'C'] F 语言 Python 代码(请注意:不要出现中文)
不知道你这个问题是否已经解决, 如果还没有解决的话: