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
|
k+=1
|
||||||
cisla = rocnik_cisla[k-1]
|
cisla = rocnik_cisla[k-1]
|
||||||
for ci in range(3, len(cisla)+1): # pro všechna čísla
|
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):
|
for pi in range(1, ((size + 1) // 2) + 1):
|
||||||
|
|
||||||
poc_op = rnd.randint(1, 4) # počet opravovatelů
|
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):
|
for ri in range(poc_reseni):
|
||||||
if rnd.randint(1, 10) == 6:
|
if rnd.randint(1, 10) == 6:
|
||||||
# cca desetina řešení od více řešitelů
|
# 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:
|
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])
|
res = Reseni.objects.create(forma=rnd.choice(Reseni.FORMA_CHOICES)[0])
|
||||||
# problem a resitele přiřadíme později, ManyToManyField
|
# problem a resitele přiřadíme později, ManyToManyField
|
||||||
# se nedá vyplnit v create()
|
# se nedá vyplnit v create()
|
||||||
|
|
Loading…
Reference in a new issue