从键盘输入一个学生所有课程的成绩,输入格式为”课程名:成绩“,每门课占一行,以空行结束。随后提示”请输入要查询的课程:“,用户从键盘输入课程名,查询并输出该课程的成绩,要求进行异常处理,对不存在的课程进行捕捉处理。 输入格式: 输入学生所有课程的成绩,每门课占一行,格式为”课程名:成绩“,以空行结束 在提示后输入课程名 输出格式: 如果课程存在,直接输出成绩,否则提示”没有该门课程“ 输入样例1: 数学:96 英语:82 计算机:76 思政:90 计算机 输出样例1: 请输入要查询的课程: 76 输入样例2: 数学:96 英语:82 计算机:76 思政:90 数学a 输出样例2: 请输入要查询的课程: 没有该门课程
时间: 2024-03-16 07:43:22 浏览: 79
任意输入成绩排序,对学生成绩进行排序和查找
这里给出一种基于字典的实现方式,将课程名作为键,成绩作为值,输入时直接将每门课程的成绩存储到字典中。之后,从键盘输入要查询的课程名,直接从字典中查询该课程的成绩即可,如果课程不存在,则捕获`KeyError`异常,并输出“没有该门课程”的提示信息。代码如下:
```python
scores = {}
while True:
try:
s = input().strip()
if not s:
break
course, score = s.split(":")
scores[course] = int(score)
except ValueError:
print("输入格式有误")
query_course = input("请输入要查询的课程:")
try:
print(scores[query_course])
except KeyError:
print("没有该门课程")
```
代码解释:
- 首先定义一个空字典`scores`,用于存储每门课程的成绩;
- 循环读入每门课程的成绩,如果输入为空行则跳出循环;
- 对读入的字符串`s`进行分割,得到课程名`course`和成绩`score`,将其转换为整数类型并存储到字典`scores`中;
- 在捕获`ValueError`异常时输出“输入格式有误”的提示信息;
- 从键盘读入要查询的课程名`query_course`,在字典`scores`中查询该课程的成绩,如果查询成功则输出成绩,否则捕获`KeyError`异常并输出“没有该门课程”的提示信息。
阅读全文