创建一个自定义函数,实现计算全体学生某门功课的平均成绩的功能。 (调用自定义函数:请自行给出指定的课程,验证该自定义函数的定义正确与否。)
时间: 2024-02-19 07:58:23 浏览: 82
c代码-编程实现:输入10个学生的6门课成绩,分别求出每个学生的平均成绩。
5星 · 资源好评率100%
好的,这是一个简单的 Python 代码实现:
```python
def course_average(course_name, grades):
course_grades = []
for grade in grades:
if grade['course'] == course_name:
course_grades.append(grade['grade'])
if len(course_grades) == 0:
return 0
else:
return sum(course_grades) / len(course_grades)
```
这个自定义函数 `course_average` 接受两个参数:`course_name` 表示指定的课程名称,`grades` 表示所有学生的成绩列表,其中每个成绩都是一个字典,包含两个字段:`name` 表示学生姓名,`course` 表示课程名称,`grade` 表示成绩。
函数内部会遍历所有成绩,找到指定课程的成绩,然后计算平均成绩并返回。如果指定课程没有成绩,则返回 0。
你可以使用以下代码调用这个自定义函数,并验证它的定义是否正确:
```python
grades = [
{'name': '张三', 'course': '数学', 'grade': 80},
{'name': '张三', 'course': '英语', 'grade': 90},
{'name': '李四', 'course': '数学', 'grade': 85},
{'name': '李四', 'course': '英语', 'grade': 95},
{'name': '王五', 'course': '数学', 'grade': 90},
{'name': '王五', 'course': '英语', 'grade': 85},
]
print(course_average('数学', grades)) # 应该输出 85.0
print(course_average('物理', grades)) # 应该输出 0
```
注意,这里的成绩列表只是一个示例,你需要根据实际情况修改。
阅读全文