我必須創建以下類,但我不確定如何設定我的建構式。
一個 GradeRecords 物件具有以下屬性:
一個 GradeRecords 物件具有以下屬性:
term : 一個代表當前學期的字串;grades : 一個包含元組的串列物件,每個元組的第一個條目是一個字串,代表班級的代碼,每個元組的第二個條目是成績,滿分為100分,第三個條目是這個課程的學分。grades可以被初始化為一個空串列。num_courses : 一個int,包含記錄中的課程數量。
這可以被初始化為0.你不允許添加更多的屬性。
此外,一個GradeRecords物件有以下方法:
- 一個初始化方法,該方法將當前學期作為輸入,并初始化三個屬性;
- add_course,該方法將當前學期作為輸入。
- add_course,這個方法接收一個代表課程代碼的字串,一個代表滿分100分的int和學分數。該方法將一個新的元組添加到成績中。
我的代碼給了我一個錯誤:
g1 = GradeRecords("Fall 2021"/span>)
TypeError。__init__() 缺少1必需的位置引數。'new_tuple'
謝謝你!
class GradeRecords:
成績 = []
num_courses = 0: num_courses = []
def __init__(self, term, new_tuple)。
self.term = term
#從輸入的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)
回傳成績
uj5u.com熱心網友回復:
你的類的__init__有兩個引數。term和new_tuple。
當你以g1 = GradeRecords("Fall 2021")的形式創建你的類的實體時,你給了一個term的值(="Fall 2021"),但該物件也在等待一個new_tuple。
因此,為了使它作業,你應該給一個元組作為第二個引數,例如:
g1 = GradeRecords("Fall 2021", ("Maths", 90, 10)
然而,在我看來,這個class也可以這樣寫:
class GradeRecords。
def __init__(self, term):
self.grades = [] []
self.num_courses = 0: self.num_courses = [].
self.term = term
def add_course(self, course_code, grade_100, num_credits)。
self.grades.append((course_code, grade_100, num_credits))
self.num_courses = len(self.grades)
return self.grades
我們可以這樣使用它 :
>>> g1 = GradeRecords('Fall 2021'/span>)
>>> g1.add_course("Maths", 90, 10)
[("Maths", 90, 10) ]
>>> g1.add_course("物理", 80, 9)
[('Maths', 90, 10) 。('物理', 80, 9)]
uj5u.com熱心網友回復:
你的__init__期望有2個引數,而只有1個被傳遞給它,所以你可以給new_tuple添加一個默認值,如果沒有傳遞任何東西,可以被呼叫為g1 = GradeRecords("Fall 2021")。如果你希望它被初始化為其他東西,那么它可以被呼叫為 g1 = GradeRecords("Fall 2021", ("Course", "<Grade>", "<Credits>"))
class GradeRecords:
成績 = []
num_courses = 0: num_courses = []
def __init__(self, term, new_tuple=("",0, 0)
self.term = term
#從輸入的new_tuple創建一個串列。
self.grades.append(new_tuple)
self.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)
回傳成績
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/310502.html
標籤:
