写一个成绩查询的类,在构造方法中map,单独写一个成绩初始化的方法,另写一个成绩查询的方法:当从键盘输入学生名称,即返回课程成绩。当输入exit时退出。
时间: 2024-05-09 17:20:48 浏览: 9
以下是一个示例代码:
```python
class ScoreQuery:
def __init__(self):
self.scores = {}
self.init_scores()
def init_scores(self):
self.scores = {
"张三": {"数学": 85, "英语": 92, "语文": 78},
"李四": {"数学": 90, "英语": 88, "语文": 92},
"王五": {"数学": 76, "英语": 80, "语文": 85},
"赵六": {"数学": 82, "英语": 86, "语文": 90},
}
def query_score(self):
while True:
name = input("请输入要查询成绩的学生姓名(输入exit退出):")
if name == "exit":
break
if name in self.scores:
score_dict = self.scores[name]
for subject, score in score_dict.items():
print(f"{subject}: {score}")
else:
print("未找到该学生的成绩")
```
在上面的代码中,我们定义了一个`ScoreQuery`类,其中包含了一个名为`scores`的字典,用于存储学生的成绩信息。在类的构造方法中,我们调用了`init_scores`方法来初始化成绩信息。
`init_scores`方法中,我们手动定义了一些学生的成绩信息,并将其存储在`scores`字典中。
最后,我们定义了一个`query_score`方法,用于查询成绩信息。在方法中,我们通过一个无限循环来不断接收用户输入的学生姓名,并在`scores`字典中查找对应的成绩信息。如果找到了对应的成绩信息,我们就将其逐一输出;如果未找到,则输出提示信息。如果用户输入了`exit`,则退出循环。