定义一个成绩类,属性有:提示信息(本学期课程成绩如下),方法有获取课程成绩,计算课程等级,计算课程绩点。 并将该类对象实例化,输入合适的参数,并输出结果。 扩展功能:如果采用可变参数作为课程成绩,添加计算课程平均成绩的方法,输出平均成绩。
时间: 2023-12-21 16:03:08 浏览: 28
以下是一个成绩类的定义,包括提示信息、课程成绩列表、获取课程成绩、计算课程等级、计算课程绩点以及计算课程平均成绩的方法:
```python
class Score:
def __init__(self, *grades):
self.prompt = "本学期课程成绩如下:"
self.grades = list(grades)
def get_grades(self):
return self.grades
def get_grade_level(self, grade):
if grade >= 90:
return "A"
elif grade >= 80:
return "B"
elif grade >= 70:
return "C"
elif grade >= 60:
return "D"
else:
return "F"
def calc_gpa(self, grade):
if grade >= 90:
return 4.0
elif grade >= 85:
return 3.7
elif grade >= 82:
return 3.3
elif grade >= 78:
return 3.0
elif grade >= 75:
return 2.7
elif grade >= 72:
return 2.3
elif grade >= 68:
return 2.0
elif grade >= 64:
return 1.5
elif grade >= 60:
return 1.0
else:
return 0.0
def calc_avg_grade(self):
if len(self.grades) == 0:
return 0
else:
return sum(self.grades) / len(self.grades)
```
接下来,我们可以实例化该类,并输入一些课程成绩:
```python
score = Score(85, 70, 92, 78, 88)
```
然后,我们可以调用该类的方法来获取课程成绩、计算课程等级、计算课程绩点和计算课程平均成绩:
```python
print(score.prompt)
print(score.get_grades())
for grade in score.get_grades():
print("成绩:{0},等级:{1},绩点:{2}".format(grade, score.get_grade_level(grade), score.calc_gpa(grade)))
print("平均成绩:{0}".format(score.calc_avg_grade()))
```
输出结果如下:
```
本学期课程成绩如下:
[85, 70, 92, 78, 88]
成绩:85,等级:B,绩点:3.0
成绩:70,等级:C,绩点:2.0
成绩:92,等级:A,绩点:4.0
成绩:78,等级:C,绩点:2.0
成绩:88,等级:B,绩点:3.0
平均成绩:82.6
```