对用户输入的分数进行评级,其中90-100分优秀,80-89分良好,70-79分中等,60-69分及格,60分以下为不及格。输入分数要求必须是正整数或0。请编写这段代码的手工测试代码
时间: 2024-12-24 19:20:39 浏览: 5
你可以按照以下步骤编写手工测试代码来检查这个评分函数:
```python
# 定义评级函数
def score_rating(score):
if not isinstance(score, int) or score < 0:
raise ValueError("分数必须是正整数或0")
# 评级规则
if score >= 90:
return "优秀"
elif score >= 80 and score <= 89:
return "良好"
elif score >= 70 and score <= 79:
return "中等"
elif score >= 60 and score <= 69:
return "及格"
else:
return "不及格"
# 手动测试用例
test_cases = [
(0, "及格"), # 0分属于及格范围
(65, "及格"), # 正确评分
(85, "良好"), # 属于良好范围
(95, "优秀"), # 高分,应该被评为优秀
(-5, ValueError), # 负分错误
(105, ValueError), # 分数超过满分
("score", ValueError), # 字符串而非整数
]
for case, expected_result in test_cases:
try:
result = score_rating(case)
if isinstance(result, str): # 如果结果是字符串,比较评级是否匹配
assert result == expected_result
elif isinstance(result, Exception): # 如果结果是异常,检查是否为预期的异常类型
assert type(result) is expected_result
except AssertionError as assertion_error:
print(f"测试失败:对于{case},实际结果是{result},期望结果是{expected_result}")
else:
print(f"测试通过:对于{case},实际结果是{result}")
#
阅读全文