定义一个成绩类,属性有:提示信息 (本学期课程成绩如下),方法有获取课程成绩,计算课程等级,计算课程绩点。 并将该类对象实例化,输入合适的参数,并输出结果。 扩展功能:如果采用可变参数作为课程成绩添加计算课程平均成绩的方法,输出平均成绩。
时间: 2023-12-21 10:06:29 浏览: 89
以下是成绩类的实现:
```python
class Score:
def __init__(self, *args):
self.scores = args
self.grade_point = []
self.level = []
def get_scores(self):
return self.scores
def calculate_level(self):
for score in self.scores:
if score >= 90:
self.level.append('A')
elif score >= 80:
self.level.append('B')
elif score >= 70:
self.level.append('C')
elif score >= 60:
self.level.append('D')
else:
self.level.append('F')
return self.level
def calculate_grade_point(self):
for score in self.scores:
if score >= 90:
self.grade_point.append(4.0)
elif score >= 85:
self.grade_point.append(3.7)
elif score >= 82:
self.grade_point.append(3.3)
elif score >= 78:
self.grade_point.append(3.0)
elif score >= 75:
self.grade_point.append(2.7)
elif score >= 72:
self.grade_point.append(2.3)
elif score >= 68:
self.grade_point.append(2.0)
elif score >= 64:
self.grade_point.append(1.5)
elif score >= 60:
self.grade_point.append(1.0)
else:
self.grade_point.append(0.0)
return self.grade_point
def calculate_average_score(self):
return sum(self.scores) / len(self.scores)
```
在以上代码中,我们定义了一个 Score 类,它包含了三个方法:get_scores、calculate_level 和 calculate_grade_point。get_scores 方法返回传入类的参数,即成绩列表;calculate_level 方法根据传入的成绩列表计算出每门课程的等级,并返回等级列表;calculate_grade_point 方法根据传入的成绩列表计算出每门课程的绩点,并返回绩点列表。
我们还添加了一个扩展功能,即 calculate_average_score 方法,它可以根据传入的可变参数计算平均成绩。
以下是一个示例,演示了如何使用 Score 类:
```python
scores = [80, 90, 70, 85, 60]
score = Score(*scores)
print('本学期课程成绩如下:', score.get_scores())
print('每门课程的等级为:', score.calculate_level())
print('每门课程的绩点为:', score.calculate_grade_point())
print('本学期平均成绩为:', score.calculate_average_score())
```
输出结果如下:
```
本学期课程成绩如下: (80, 90, 70, 85, 60)
每门课程的等级为: ['B', 'A', 'C', '3.7', 'D']
每门课程的绩点为: [3.0, 4.0, 2.0, 3.7, 1.0]
本学期平均成绩为: 77.0
```
阅读全文