Я пытаюсь пройти тест, чтобы задать другой вопрос и загрузить ответы, связанные с этим вопросом, после нажатия кнопки.Он загружает первый вопрос, с одной кнопкой, которая имеет правильный ответ, и 3 кнопками с неправильным ответом (что предполагается сделать, так как это множественный выбор), но при нажатии кнопки новый вопрос не загружается.Он говорит, что идентификатор не определяется, когда я нажимаю кнопку.
Итак, как мне это зациклить, чтобы появился новый идентификатор и загрузился новый вопрос.Множественный выбор работает, это просто петля назад.
class Page2(Page):
def __init__(self, *args, **kwargs):
Page.__init__(self, *args, **kwargs)
self.Question_Counter = 0
self.Correct_Answers = 0
self.getQuest
self.AnswerQuestion
self.ID = random.randint(1,100)
QuestionSet.add(self.ID)
self.QuestionAsked = self.getQuest(self.ID)
QuestionSet.add(self.QuestionAsked)
Answers = [self.GetAnswer(self.ID)]
self.CorrectAnswer = self.GetAnswer(self.ID)
for ID in range(3):
new_id = random.randint(1,100)
while new_id in Answers:
new_id = random.randint(1,100)
Answers.append(self.GetAnswer(new_id))
self.OriginalAnswers = Answers[:]
print(self.CorrectAnswer)
print(self.GetAnswer(self.ID))
l1 = tk.Label(self, text = self.QuestionAsked)
l1.grid(row = 2, column = 2, pady = 100)
l2 = tk.Label(self, text ="/50")
l2.grid(row = 1, column = 3)
myID = random.randint(0,3)
b1 = tk.Button(self, text = Answers[myID], command = self.AnswerQuestion)
b1.grid(row = 3, column = 1)
del Answers[myID]
myID = random.randint(0,2)
b2 = tk.Button(self, text = Answers[myID], command = self.AnswerQuestion)
b2.grid(row = 4, column = 1, pady = 10)
del Answers[myID]
myID = random.randint(0,1)
b3 = tk.Button(self, text = Answers[myID], command = self.AnswerQuestion)
b3.grid(row = 3, column = 3)
del Answers[myID]
b4 = tk.Button(self, text = Answers[0], command = self.AnswerQuestion)
b4.grid(row = 4, column = 3, pady = 10)
del Answers[0]
def getQuest(self,ID):
if self.Question_Counter < 50:
RandomInt = random.randint(1,100)
new_db = sqlite3.connect("QuestionsDatabase.db")
c= new_db.cursor()
return (c.execute("SELECT Question FROM Questions WHERE QuestionID = {}".format(ID)).fetchone()[0])
self.Loading(self)
def GetAnswer(self,ID):
new_db = sqlite3.connect("QuestionsDatabase.db")
c= new_db.cursor()
return (c.execute("SELECT ANSWER FROM ANSWERS WHERE AnswerID = {}".format(ID)).fetchone()[0])
def AnswerQuestion(self):
if self.CorrectAnswer == self.GetAnswer(self.ID):
self.Correct_Answers += 1
self.Question_Counter += 1
self.getQuest(self,ID)