33 lines
669 B
Python
33 lines
669 B
Python
from enum import Enum
|
|
from typing import Generic
|
|
|
|
from Quizard import QuizTask, TaskGenerator
|
|
|
|
|
|
class TagCategory(str, Enum):
|
|
TOPIC = "topic"
|
|
DIFFICULTY = "difficulty"
|
|
|
|
|
|
class TopicTag(str, Enum):
|
|
AVERAGE = "average"
|
|
VARIANCE = "variance"
|
|
|
|
|
|
class MyTaskGenerator(TaskGenerator[TagCategory, TopicTag]): ...
|
|
|
|
|
|
class AverageTask(MyTaskGenerator):
|
|
def generate(self):
|
|
return QuizTask(
|
|
"What is an average of 1, 2, 3 and 4?",
|
|
"2.5",
|
|
tags=[
|
|
(TagCategory.TOPIC, TopicTag.AVERAGE),
|
|
(TagCategory.TOPIC, TopicTag.VARIANCE),
|
|
],
|
|
)
|
|
|
|
|
|
print(AverageTask().generate())
|