如何调试Python成绩录入计算代码?满足编程评估规范要求
调试Python成绩输入程序以满足评估要求
原代码已实现成绩存储、列表展示、总和与平均值计算功能,但缺少**成绩合法性校验(0-100范围)**和异常处理,以下是符合评估要求的修改方案:
修改后的完整代码
print("please enter your 5 marks below") marksList = [] # 循环读取5个合法成绩 for i in range(5): while True: try: mark = int(input(f"enter mark {i+1}: ")) # 验证成绩范围 if 0 <= mark <= 100: marksList.append(mark) break else: print("Error: Mark must be between 0 and 100. Try again.") except ValueError: print("Error: Please enter a valid integer. Try again.") # 显示输入的成绩列表 print(marksList) # 计算总和与平均值 sumOfMarks = sum(marksList) averageOfMarks = sumOfMarks / 5 # 格式化输出结果 print(f"The sum of your marks is: {sumOfMarks}") print(f"The average of your marks is: {averageOfMarks:.2f}")
关键修改说明
- 输入合法性校验:通过
while True循环强制用户输入0-100之间的成绩,不符合要求时提示错误并重新输入 - 异常处理:用
try-except捕获非整数输入的情况,避免程序直接崩溃 - 简化代码结构:用循环替代重复的5次输入代码,更简洁易维护
- 优化输出格式:使用f-string替代字符串拼接,同时将平均值保留两位小数,输出更规范
对应评估要求的完成情况
- ✅ 读取5门科目成绩并存储在列表中(循环实现,结构更简洁)
- ✅ 确保成绩在0-100之间,同时处理非整数输入异常
- ✅ 显示输入的成绩列表
- ✅ 计算并按指定格式输出总和
- ✅ 计算并按指定格式输出平均值(优化为保留两位小数,更符合成绩展示习惯)
内容的提问来源于stack exchange,提问作者Requiem
相关产品推荐
相关产品推荐

