酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

实践内容2:统计总评成绩 将本班45位同学的成绩按照如下比例统计出总评成绩:期中考试成绩占30%,期末考试成绩占40%,平时成绩占10%,作业成绩占20%。 定义一个名为zong_ping的函数,不接收任何参数,用return语句输出该班同学的总评成绩(结果取整),按照第1位学生,第2位学生,…,第45位学生的顺序。 输出结果举例:([86,58,…89])。 实践内容3:统计最高分,最低分和平均成绩 统计本班45位同学总评成绩中的最低分,最高分和平均成绩。 定义一个名为san_fen的函数,不接收任何参数,用return语句输出最低分,最高分,和平均分(均取整)。 输出格式如下: (第34位学生,58,第26位学生,93,全班平均分,78)

以下是使用 Python 实现上述功能的代码: ```python def zong_ping(): student_scores = [] for i in range(45): midterm_score = int(input("请输入第{}位同学的期中考试成绩: ".format(i + 1))) final_score = int(input("请输入第{}位同学的期末考试成绩: ".format(i + 1))) usual_score = int(input("请输入第{}位同学的平时成绩: ".format(i + 1))) homework_score = int(input("请输入第{}位同学的作业成绩: ".format(i + 1))) total_score = round(midterm_score * 0.3 + final_score * 0.4 + usual_score * 0.1 + homework_score * 0.2) student_scores.append(total_score) return student_scores def san_fen(): student_scores = zong_ping() min_score = min(student_scores) max_score = max(student_scores) average_score = round(sum(student_scores) / len(student_scores)) min_index = student_scores.index(min_score) max_index = student_scores.index(max_score) return (min_index + 1, min_score, max_index + 1, max_score, average_score) print(zong_ping()) print(san_fen()) ``` 以下是 3 个改进建议: 1. 可以将输入成绩的部分改为从一个已有的成绩列表中读取,而不是手动输入,提高效率。 2. 在计算总评成绩时,可以先将各项成绩相加,再进行取整操作,避免多次调用取整函数。 3. 对输入的成绩进行有效性验证,比如确保成绩在合理的范围内。 [2024-12-24 21:13:05 | AI写代码神器 | 394点数解答]

相关提问