1:分别用if和swith语句实现,将百分制成绩转换为成绩等级A、B、C、D、E。其中[90~100]分为A,[80~90)分为B,[70~80)分为C,[60~70)分为D,60分以下为E。对超出百分制范围的成绩,给出错误提示信息。
时间: 2024-09-29 11:04:19 浏览: 35
在Python中,你可以使用`if`和`elif`语句来实现这个功能,如果要使用`switch`语句,由于Python并不直接支持类似C或Java的`switch`结构,我们可以借助字典来模拟这种效果。以下是两种方法的示例:
**使用if-elif-else语句**:
```python
def grade_converter(score):
if score < 0 or score > 100:
return "错误:成绩超出范围"
if score >= 90:
return 'A'
elif score >= 80:
return 'B'
elif score >= 70:
return 'C'
elif score >= 60:
return 'D'
else:
return 'E'
# 测试
print(grade_converter(95)) # 输出:A
print(grade_converter(75)) # 输出:C
print(grade_converter(105)) # 输出:错误:成绩超出范围
```
**使用字典实现“switch”效果** (虽然Python不是真正的switch) :
```python
def grade_converter(score):
grades = {
100: 'A',
range(90, 101): 'A',
range(80, 90): 'B',
range(70, 80): 'C',
range(60, 70): 'D',
0: 'E'
}
for key, value in grades.items():
if isinstance(key, tuple):
if score in key:
return value
elif score == key:
return value
return "错误:成绩超出范围"
# 测试
print(grade_converter(95)) # 输出:A
print(grade_converter(75))
阅读全文