【发布时间】:2021-09-09 11:11:11
【问题描述】:
我必须创建以下类,但我不确定如何设置我的构造函数。
GradeRecords 对象具有以下属性:
-
term:代表当前学期的字符串; -
grades: 一个包含元组的列表对象,其中每个元组的第一个条目是代表班级代码的字符串,每个元组的第二个条目是满分 100 分,第三个条目是学分数这个课程。grades可以初始化为空列表。 -
num_courses:一个 int 值,包含记录中的课程数。
这可以初始化为 0。
您不能添加更多属性。
此外,GradeRecords 对象具有以下方法:
- 一种以当前术语为输入并初始化三个属性的初始化方法;
- add_course,该方法采用表示课程代码的字符串、表示总分 100 分的 int 和学分数的方法。该方法向等级添加一个新元组。
我的代码给了我错误:
g1 = GradeRecords("Fall 2021")
TypeError: __init__() missing 1 required positional argument: 'new_tuple'
谢谢!
class GradeRecords:
grades = []
num_courses = 0
def __init__(self, term, new_tuple):
self.term = term
#create a list from the input new_tuple
self.grades.append(new_tuple)
GradeRecords.num_courses += len(self.grades)
def add_course(self, course_code, grade_100, num_credits):
new_tuple = (course_code, grade_100, num_credits)
self.grades.append(new_tuple)
return grades
【问题讨论】:
-
__init__方法不需要“new_tuple”参数,也不应将任何内容附加到“self.grades”,因为作业没有要求。
标签: python class constructor