若学生成绩≥90为优,成绩≥80且<90为良,成绩≥70且<80为中,成绩≥60且<70为及格,成绩<60为不及格。请编写程序,输入分数,输出学生成绩等级,要求分别通过下列三种方式实现: 1、用5个单分支结构实现 2、用多分支if语句实现 3、用switch语句执行
时间: 2024-09-26 14:08:23 浏览: 20
当然可以,以下是三种不同方式实现的Python程序:
1. 单分支结构实现(条件判断链)
```python
def grade(score):
if score >= 90:
return "优"
elif score >= 80:
return "良"
elif score >= 70:
return "中"
elif score >= 60:
return "及格"
else:
return "不及格"
score = float(input("请输入学生的分数:"))
print("成绩等级:", grade(score))
```
2. 多分支if语句实现
```python
def grade(score):
if score >= 90:
return "优"
elif score >= 80 and score < 90:
return "良"
elif score >= 70 and score < 80:
return "中"
elif score >= 60 and score < 70:
return "及格"
else:
return "不及格"
# ... (同上)
grade(score)
```
3. 使用switch语句(Python并没有原生的switch,这里可以用字典映射实现类似功能)
```python
def grade(score):
grades = {
90: "优",
80: "良",
70: "中",
60: "及格",
}
for grade_threshold, grade_name in grades.items():
if score >= grade_threshold:
return grade_name
grade_dict = {v: k for k, v in grades.items()} # 将键值反转以便查询
score = float(input("请输入学生的分数:"))
print("成绩等级:", grade_dict.get(score, "不及格"))
```