Python实现课程成绩计算与等级判定
### 🍎 实现思路 要实现这个需求,我们可以按照以下步骤进行: 1. 获取用户输入的 4 门课程成绩。 2. 计算总分和平均分。 3. 根据总分判定等级。 4. 输出总分、平均分和最终等级。 ### 👨💻 代码示例 ```python # 获取用户输入的 4 门课程成绩 scores = [] for i in range(4): while True: try: score = int(input(f"请输入第 {i + 1} 门课程的成绩(0~100):")) if 0 <= score <= 100: scores.append(score) break else: print("输入的成绩不在 0~100 范围内,请重新输入。") except ValueError: print("输入无效,请输入一个整数。") # 计算总分 total_score = sum(scores) # 计算平均分,保留 1 位小数 average_score = round(total_score / 4, 1) # 根据总分判定等级 if total_score >= 360: grade = 'S' elif 320 <= total_score < 360: grade = 'A' elif 280 <= total_score < 320: grade = 'B' elif 240 <= total_score < 280: grade = 'C' else: grade = 'D' # 输出结果 print(f"总分:{total_score}") print(f"平均分:{average_score}") print(f"最终等级:{grade}") ``` ### 📝 代码解释 1. **输入验证**:使用 `while True` 循环和 `try-except` 语句确保用户输入的是 0~100 之间的整数。 2. **总分计算**:使用 `sum()` 函数计算 4 门课程的总分。 3. **平均分计算**:使用 `round()` 函数将平均分保留 1 位小数。 4. **等级判定**:使用 `if-elif-else` 语句根据总分判定等级。 5. **输出结果**:使用 `print()` 函数输出总分、平均分和最终等级。 ### ⚙️ 进阶使用指南 - **性能优化**:代码的性能已经比较高效,无需特别优化。 - **错误处理**:代码中已经对用户输入进行了验证,确保输入的是 0~100 之间的整数。 - **扩展功能**:可以添加更多的课程,或者根据不同的需求修改等级判定规则。 - **安全建议**:由于代码只处理用户输入的整数,不存在安全风险。 - **常见陷阱规避**:注意输入验证,避免用户输入无效的成绩。 ### 📚 学习资源 - Python 官方文档:https://docs.python.org/3/ - Python 入门教程:https://www.runoob.com/python3/python3-tutorial.html ### 💡 开发建议 - 输入验证是很重要的,确保用户输入的数据符合要求。 - 使用函数封装代码,提高代码的复用性和可维护性。 - 添加注释,让代码更易于理解。 ######[AI写代码神器 | 755点数解答 | 2026-06-16 18:27:15]
- C 语言:快速实现 5 个学生信息录入、按成绩升序排序并输出!(字节豆包 | 373点数解答 | 2024-10-30 00:37:20)456
- C语言实现:输入5名学生信息并按成绩升序排序输出(字节豆包 | 354点数解答 | 2024-10-30 18:45:58)404
- C语言:输入5个学生信息,按成绩升序排序并输出(字节豆包 | 373点数解答 | 2024-10-31 19:49:58)397
- C语言:输入5名学生信息并按成绩升序排序输出(字节豆包 | 326点数解答 | 2025-01-01 20:11:47)398
- 成绩等级统计:20个60 - 100分成绩的等级数量揭秘(字节豆包 | 219点数解答 | 2025-04-09 10:20:32)260
- 培训机构学员成绩与年龄更新:C++ 代码实现(DeepSeek | 186点数解答 | 2025-12-16 18:04:31)122
- Python 处理培训机构学员培训后年龄与 NOIP 成绩提升情况(DeepSeek | 73点数解答 | 2025-12-16 18:05:20)121
- 培训机构学员成绩提升:C++代码实现年龄与NOIP成绩更新(DeepSeek | 178点数解答 | 2025-12-31 12:20:24)111
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)547
- C 语言实现:百分制成绩转等级成绩,含输入校验(字节豆包 | 334点数解答 | 2024-11-06 10:56:46)210
- 游戏技能代码深度剖析:潜在问题、改进方案与处理要点(字节豆包 | 1426点数解答 | 2025-10-16 15:31:36)145
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)469