我正在尝试在旧编程书中找到的练习任务,以增加我对Python中的类的知识。任务是创建一个程序,允许用户为学校设置一系列测试。每项测试必须包含不超过10个问题。任务表明,最好的方法是使用遏制,并使用课程“问题”。在课堂内'测试'
基本上,我应该建立一个名为Test的类,它会彻底清除整个测试的基础知识,然后是一个名为Quesion的类,它设置问题并将其传递回Test以包含在那里的数组中。我有两个主要问题。首先,如何获取Question类中的setQuestion对象以将数据传递到Test类中的Question数组。其次,我如何让setQuestion对象迭代变量numberofQuestions,因为它包含在Test Class中。
这是代码。不确定格式是否清楚,但Question类在Test类中:
class Test(object):
def __init__(self):
self.__testID = 0
self.__maxMarks = 0
self.__questions = []
self.__numberofQuestions = 0
self.__level = ""
self.__dateSet = ""
class Question(object):
def __init__(self):
self.__questionID = 0
self.__questionText = ""
self.__answer = ""
self.__marks = 0
self.__topic = ""
def setQuestion(self, questionID, questionText, answer, marks, topic):
self.__numberofQuestions = self.__numberofQuestions + 1
self.__questionID = self.__questionID
self.__questionText = self.__questionText
self.__answer = self.__answer
self.__marks = self.__marks
self.__topic = self.__topic
答案 0 :(得分:1)
我就是这样做的:
class Test(object):
def __init__(self,id,marks):
self.__testID = id
self.__maxMarks = marks
self.__questions = []
self.__numberofQuestions = 0
self.__level = ""
self.__dateSet = ""
def setQuestion(self,question):
self.__numberofQuestions += 1
self.__questions.append(question)
class Question(object):
def __init__(self,id,text,answer,marks,topic):
self.__questionID = id
self.__questionText = text
self.__answer = answer
self.__marks = marks
self.__topic = topic
现在您可以将问题对象放入Test的__question数组中,如下所示:
if __name__ == "__main__":
test = Test(1,100)
test.setQuestion(Question(1,"Text","Answer",50,"Topic"))