用switch语句float编写100分以上为优秀,80-100为良好,70-80为中等,60-70为及格,60以下为不及格
时间: 2023-06-02 16:03:01 浏览: 52
以下是用switch语句实现的代码:
```python
score = float(input("请输入您的成绩:"))
# 计算评级
if score >= 100:
level = "优秀"
elif score >= 80:
level = "良好"
elif score >= 70:
level = "中等"
elif score >= 60:
level = "及格"
else:
level = "不及格"
# 输出评级
print("您的评级是:", end="")
switch(level):
case "优秀":
print("优秀")
break
case "良好":
print("良好")
break
case "中等":
print("中等")
break
case "及格":
print("及格")
break
case "不及格":
print("不及格")
break
default:
print("未知")
break
```
以上代码中,我们先用if语句计算出成绩的评级,然后用switch语句输出评级。在switch语句中,我们根据评级的不同,使用不同的case语句来输出对应的评级。如果评级是未知的,我们就使用default语句来输出未知。
相关问题
编程评定学生成绩,成绩三90为优秀:90>成绩≥80 为良好;80>成绩≥70 为中等; 70-成绩二60为及格;60-成绩为不及格。(分别用计语句和 switch 语句编写程序》
以下是使用 C 语言编写的计语句和 switch 语句实现编程评定学生成绩的程序:
使用计语句:
#include <stdio.h>
int main() { float score; printf("请输入学生成绩:"); scanf("%f", &score);
if (score >= 90) { printf("优秀\n"); } else if (score >= 80) { printf("良好\n"); } else if (score >= 70) { printf("中等\n"); } else if (score >= 60) { printf("及格\n"); } else { printf("不及格\n"); }
return 0; }
使用 switch 语句:
#include <stdio.h>
int main() { float score; printf("请输入学生成绩:"); scanf("%f", &score);
switch ((int)score / 10) { case 10: case 9: printf("优秀\n"); break; case 8: printf("良好\n"); break; case 7: printf("中等\n"); break; case 6: printf("及格\n"); break; default: printf("不及格\n"); break; }
return 0; }
学生成绩可分为百分制和五级制,根据输入的百 分制成绩score,转换成相应的五级制成绩后输 出,百分制与五级制的对应关系表1所示(用 switch语句实现)
好的,以下是实现代码:
```python
score = float(input("请输入百分制成绩:"))
if score < 0 or score > 100:
print("输入成绩不合法!")
else:
level = None
# 根据百分制成绩转换为五级制成绩
if score >= 90:
level = 5
elif score >= 80:
level = 4
elif score >= 70:
level = 3
elif score >= 60:
level = 2
else:
level = 1
# 输出五级制成绩
print("五级制成绩为:", end='')
# switch语句的实现
{
1: lambda: print("不及格"),
2: lambda: print("及格"),
3: lambda: print("中等"),
4: lambda: print("良好"),
5: lambda: print("优秀")
}.get(level, lambda: None)() # 如果 level 不在 1~5 范围内,则不输出任何内容
```
代码中使用了一个字典来模拟 switch 语句的功能,根据五级制成绩的级别选择对应输出的内容。注意,如果输入的百分制成绩不在 0~100 范围内,程序会输出提示信息。