Python实例化方法计算平均绩点
时间: 2023-12-25 18:56:40 浏览: 68
c语言程序:计算平均绩点
假设你有一个学生类(Student),其中包含属性:姓名、学号、专业、课程成绩和学分,那么可以通过实例化方法来计算平均绩点。
以下是一个示例代码:
```python
class Student:
def __init__(self, name, id, major, scores, credits):
self.name = name
self.id = id
self.major = major
self.scores = scores
self.credits = credits
def calculate_gpa(self):
total_credits = sum(self.credits)
weighted_scores = sum([score * credit for score, credit in zip(self.scores, self.credits)])
gpa = weighted_scores / total_credits
return round(gpa, 2)
```
在上面的代码中,我们定义了一个学生类,其中包含了一些属性,如姓名、学号、专业、课程成绩和学分。我们还定义了一个实例化方法 `calculate_gpa()`,该方法计算并返回该学生的平均绩点。
具体来说,我们首先通过 `sum()` 函数计算出学生所修的总学分数,然后使用列表推导式计算每门课程的加权成绩(即成绩乘以学分),最后将加权成绩总和除以总学分数得到平均绩点。最后使用 `round()` 函数将平均绩点保留两位小数,然后返回结果。
使用示例:
```python
# 创建一个学生对象
student = Student("张三", "20210001", "计算机科学与技术", [90, 80, 85], [3, 2, 4])
# 计算该学生的平均绩点
gpa = student.calculate_gpa()
# 输出结果
print("学生姓名:", student.name)
print("学号:", student.id)
print("专业:", student.major)
print("平均绩点:", gpa)
```
输出结果:
```
学生姓名: 张三
学号: 20210001
专业: 计算机科学与技术
平均绩点: 3.56
```
阅读全文