在日常生活中,经常会遇到需要将成绩的百分制形式转换为等级制。编写程序,完成该转换。对应关系如下表所示:等级成绩(百分制)优秀90~100良好80~89中70~79及格60~69不及格0~59 用Python 编写三个不同的程序
时间: 2024-10-28 09:07:20 浏览: 16
百分制到五分制的转换
5星 · 资源好评率100%
在Python中,我们可以使用条件判断语句来创建一个函数,根据分数范围返回相应的等级。以下是三种不同风格的实现:
**1. 函数式风格:**
```python
def convert_to_grade(score):
if score >= 90:
return '优秀'
elif score >= 80:
return '良好'
elif score >= 70:
return '中等'
elif score >= 60:
return '及格'
else:
return '不及格'
score = float(input("请输入百分制成绩:"))
grade = convert_to_grade(score)
print(f"等级:{grade}")
```
**2. 使用if-elif-else嵌套结构:**
```python
def grade_converter(score):
if score >= 90 and score <= 100:
return '优秀'
elif score >= 80 and score < 90:
return '良好'
elif score >= 70 and score < 80:
return '中等'
elif score >= 60 and score < 70:
return '及格'
else:
return '不及格'
score = float(input("请输入百分制成绩:"))
grade = grade_converter(score)
print(f"等级:{grade}")
```
**3. 列表和索引查找:**
```python
grade_map = {
(100, 90]: '优秀',
(89, 80]: '良好',
(79, 70]: '中等',
(69, 60]: '及格',
(0, 60]: '不及格'
}
score = float(input("请输入百分制成绩:"))
for lower, upper in grade_map.keys():
if lower <= score <= upper:
grade = grade_map[(lower, upper]]
break
print(f"等级:{grade}")
```
在这三个版本中,用户都可以输入一个百分制分数,然后程序会输出相应的等级。
阅读全文