42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
from modules.tag import Tag
|
|
from modules.task import QTask
|
|
from modules.task.factory import QTaskFactory
|
|
from modules.variant_builder import VariantFactory
|
|
from modules.variant_builder.task_pool import QTaskPool
|
|
|
|
tasks_on_first_topic = [QTask(f"1.{i + 1}", tags=Tag("topic", "1")) for i in range(5)]
|
|
tasks_on_second_topic = [QTask(f"2.{i + 1}", tags=Tag("topic", "2")) for i in range(5)]
|
|
tasks_on_third_topic = [QTask(f"3.{i + 1}", tags=Tag("topic", "3")) for i in range(5)]
|
|
tasks_on_forth_topic = [QTask(f"4.{i + 1}", tags=Tag("topic", "4")) for i in range(5)]
|
|
tasks_on_fifth_topic = [QTask(f"5.{i + 1}", tags=Tag("topic", "5")) for i in range(5)]
|
|
tasks_on_sixth_topic = [QTask(f"6.{i + 1}", tags=Tag("topic", "6")) for i in range(5)]
|
|
tasks_on_seventh_topic = [QTask(f"7.{i + 1}", tags=Tag("topic", "7")) for i in range(5)]
|
|
|
|
task_pool = QTaskPool(
|
|
tasks_on_first_topic
|
|
+ tasks_on_second_topic
|
|
+ tasks_on_third_topic
|
|
+ tasks_on_forth_topic
|
|
+ tasks_on_fifth_topic
|
|
+ tasks_on_sixth_topic
|
|
+ tasks_on_seventh_topic
|
|
)
|
|
|
|
vf = VariantFactory(number_of_tasks=7, task_pool=task_pool)
|
|
|
|
_ = vf.task[0].must.include_tag("topic", "1")
|
|
_ = vf.task[1].must.include_tag("topic", "2")
|
|
_ = vf.task[2].must.include_tag("topic", "3")
|
|
_ = vf.task[3].must.include_tag("topic", "4")
|
|
_ = vf.task[4].must.include_tag("topic", "5")
|
|
_ = vf.task[5].must.include_tag("topic", "6")
|
|
_ = vf.task[6].must.include_tag("topic", "7")
|
|
|
|
variants = vf.generate_variants(number_of_variants=30)
|
|
|
|
i = 0
|
|
for variant in variants:
|
|
print(f"Variant {i + 1}:")
|
|
print(*[task.question for task in variant.tasks])
|
|
i += 1
|