testutils: snaha o to, aby v daném čísle bylo více řešení od jednoho řešitele
This commit is contained in:
parent
73c440b7fd
commit
3b8ba5b036
1 changed files with 9 additions and 2 deletions
|
@ -167,6 +167,13 @@ def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size)
|
|||
k+=1
|
||||
cisla = rocnik_cisla[k-1]
|
||||
for ci in range(3, len(cisla)+1): # pro všechna čísla
|
||||
resitele_size = round(7/8 * 30 * size) # očekáváný celkový počet řešitelů
|
||||
poc_res = rnd.randint(round(resitele_size/8), round(3*resitele_size/4))
|
||||
# dané číslo řeší něco mezi osminou a tříčtvrtinou všech řešitelů
|
||||
# (náhodná hausnumera, možno změnit)
|
||||
# účelem je, aby se řešení generovala z menší množiny řešitelů a tedy
|
||||
# bylo více řešení od jednoho řešitele daného čísla
|
||||
resitele_cisla = rnd.sample(resitele, poc_res)
|
||||
for pi in range(1, ((size + 1) // 2) + 1):
|
||||
|
||||
poc_op = rnd.randint(1, 4) # počet opravovatelů
|
||||
|
@ -226,9 +233,9 @@ def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size)
|
|||
for ri in range(poc_reseni):
|
||||
if rnd.randint(1, 10) == 6:
|
||||
# cca desetina řešení od více řešitelů
|
||||
res_vyber = rnd.sample(resitele, rnd.randint(2, 5))
|
||||
res_vyber = rnd.sample(resitele_cisla, rnd.randint(2, 5))
|
||||
else:
|
||||
res_vyber = rnd.sample(resitele, 1)
|
||||
res_vyber = rnd.sample(resitele_cisla, 1)
|
||||
res = Reseni.objects.create(forma=rnd.choice(Reseni.FORMA_CHOICES)[0])
|
||||
# problem a resitele přiřadíme později, ManyToManyField
|
||||
# se nedá vyplnit v create()
|
||||
|
|
Loading…
Reference in a new issue