请根据如下成绩单创建字典,要求输入姓名和科目,能够查询到成绩python
时间: 2024-10-19 10:13:11 浏览: 33
为了创建一个用于存储学生姓名、科目及其对应成绩的字典,你可以遵循这样的步骤:
```python
# 初始化一个空字典
student_scores = {}
# 定义一个函数来添加成绩
def add_score(name, subject, grade):
if name in student_scores:
student_scores[name][subject] = grade
else:
student_scores[name] = {subject: grade}
# 示例用法
add_score("张三", "数学", 90)
add_score("李四", "语文", 85)
add_score("张三", "英语", 95) # 更新张三的英语成绩
# 查询成绩
def get_grade(name, subject):
return student_scores.get(name, {}).get(subject, "未找到该记录")
# 测试查询
print(get_grade("张三", "数学")) # 输出:90
print(get_grade("李四", "英语")) # 输出:85
print(get_grade("王五", "化学")) # 输出:未找到该记录
相关问题
请根据如下成绩单创建字典,要求输入姓名和科目,能够查询到成绩
为了根据给定的成绩单创建一个字典,我们可以按照这样的结构设计:
```python
class StudentScore:
def __init__(self):
self.score_dict = {}
def add_score(self, name, subject, score):
if name in self.score_dict:
self.score_dict[name][subject] = score
else:
self.score_dict[name] = {subject: score}
def get_score(self, name, subject):
return self.score_dict.get(name, {}).get(subject, "学生不存在或该科无成绩")
# 示例使用
student_scores = StudentScore()
student_scores.add_score("张三", "语文", 90)
student_scores.add_score("李四", "数学", 85)
student_scores.add_score("张三", "英语", 95)
# 查询成绩
print(student_scores.get_score("张三", "语文")) # 输出:90
print(student_scores.get_score("李四", "数学")) # 输出:85
print(student_scores.get_score("王五", "物理")) # 输出:"学生不存在或该科无成绩"
请帮我用python语言编写一个学生成绩管理系统,学生成绩信息包括:学期、学号、班别、姓名、四门课程成绩(语文、数学、英语和 Python),具体实现以下功能: (1)能查询学生成绩,不及格科目及学生名单; (2)能按班级输出学生的成绩单; (3)显示输出 60分以下、60-79、 80-89、90分以上各分数段的学生信息。
可以用 Python 的字典数据结构来存储学生的成绩信息。我们可以用学号作为字典的键,然后存储学生的其他信息,如班别、姓名、四门课程成绩。
例如,我们可以这样创建学生成绩信息的字典:
```python
student_scores = {
'2022001': {'name': 'Alice', 'class': '1A', 'scores': [90, 80, 70, 60]},
'2022002': {'name': 'Bob', 'class': '1B', 'scores': [80, 70, 60, 50]},
'2022003': {'name': 'Charlie', 'class': '1C', 'scores': [70, 60, 50, 40]},
}
```
然后我们可以用下面的代码来实现 (1) 查询学生成绩的功能:
```python
def get_student_scores(student_id):
student = student_scores.get(student_id)
if student is None:
return '学号无效'
scores = student['scores']
student_name = student['name']
failing_subjects = []
for subject, score in zip(['语文', '数学', '英语', 'Python'], scores):
if score < 60:
failing_subjects.append(subject)
if failing_subjects:
return f'{student_name}不及格科目: {", ".join(failing_subjects)}'
else:
return f'{student_name}没有不及格科目'
```
然后我们可以用下面的代码来实现 (2) 按班级输出学生的成绩单的功能:
```python
def print_class_report(class_name):
print(f'班级: {class_name}')
print('-' * 20)
print('学号 姓名 语文 数学 英语 Python 总分 平均分')
for student_id, student in student_scores.items():
if student['class'] != class_name:
continue
scores = student['scores']
total_score
阅读全文
相关推荐
















