【发布时间】:2018-04-02 18:23:47
【问题描述】:
因此,对于我在 uni 的 Python 课程中的最后一次评估,我必须编写一个由三个对象组成的程序,其中两个是继承的。我一直遇到障碍,尤其是在最后两个对象方面。这是我的代码:
class Course:
def __init__(self,title="",ID=0):
self._ID = ID
self._title = title
def getID(self):
return self._ID
def getTitle(self):
return self._title
def setTitle(self,title):
self._title = title
def setID(self,ID):
self._ID = ID
def __repr__(self):
return "Title: " + self._title + "ID: " + str(self._ID)
class OfferedCourse(Course):
def __init__(self,title="",ID=0,enrollment=[]):
super().__init__(title,ID)
self._enrollment = len(enrollment)
def getEnrollment(self):
return self._enrollment
def addStudent(self,stu):
if stu in enrollment:
print("Student is already enrolled.")
else:
enrollment.append(stu)
def dropStudent(self,stu):
if stu in enrollment:
def __repr__(self):
super().__repr__() + "Enrollment: " + str(self._enrollment)
class StudentCourse(Course):
def __init__(self,grade,ID=0,title=""):
super().__init__(title,ID)
self._grade = grade
def getGrade(self):
return self._grade
def setGrade(self,grade):
self._grade = grade
def __repr__(self):
super().__repr__() + "Grade: " + str(self._grade)
def main():
#Set primary course
lego=Course("Lego Design",32013)
#display course
print(lego)
#Set OfferedCourse
bonk=OfferedCourse("Matoran History",82932,["Josh","Rick","Greg","Chris"])
#Display OfferedCourse
print(bonk)
#Set StudentCourse
lp=StudentCourse("History of Nu-Metal",57859,82)
#display Student Course
print(lp)
在第 60 行左右,我收到错误消息:
TypeError: str 返回非字符串(NoneType 类型)
我不知道发生了什么。
【问题讨论】:
-
main() 的主体不缩进是故意的吗?
-
不,我意识到如果没有 main() 你们就没有上下文,我又把它扔进去了。现在一切都解决了。
-
源代码似乎还是不完整...
标签: python inheritance nonetype