testutils: více řešení má jen jednoho řešitele
This commit is contained in:
parent
d2c01583ef
commit
73c440b7fd
1 changed files with 11 additions and 9 deletions
|
@ -166,7 +166,7 @@ def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size)
|
||||||
for rocnik in rocniky:
|
for rocnik in rocniky:
|
||||||
k+=1
|
k+=1
|
||||||
cisla = rocnik_cisla[k-1]
|
cisla = rocnik_cisla[k-1]
|
||||||
for ci in range(3, len(cisla)+1):
|
for ci in range(3, len(cisla)+1): # pro všechna čísla
|
||||||
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ů
|
||||||
|
@ -206,7 +206,8 @@ def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size)
|
||||||
uloha_zadani = UlohaZadaniNode.objects.create(uloha=p, first_child = zad)
|
uloha_zadani = UlohaZadaniNode.objects.create(uloha=p, first_child = zad)
|
||||||
p.ulohazadaninode = uloha_zadani
|
p.ulohazadaninode = uloha_zadani
|
||||||
otec_syn(cisla[ci-2-1].cislonode, uloha_zadani)
|
otec_syn(cisla[ci-2-1].cislonode, uloha_zadani)
|
||||||
|
|
||||||
|
# generování vzorového textu
|
||||||
text_vzoraku = Text.objects.create(
|
text_vzoraku = Text.objects.create(
|
||||||
na_web = rnd.choice(reseni),
|
na_web = rnd.choice(reseni),
|
||||||
do_cisla = rnd.choice(reseni)
|
do_cisla = rnd.choice(reseni)
|
||||||
|
@ -219,17 +220,18 @@ def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size)
|
||||||
p.opravovatele.set(rnd.sample(organizatori,poc_op))
|
p.opravovatele.set(rnd.sample(organizatori,poc_op))
|
||||||
p.save()
|
p.save()
|
||||||
|
|
||||||
# reseni ulohy
|
# generování řešení
|
||||||
poc_reseni = rnd.randint(size // 2, size * 2)
|
poc_reseni = rnd.randint(size // 2, size * 2)
|
||||||
#poc_resitel = rnd.randint(1, 3) <- k čemu je himbajs tahle proměnná?
|
# generujeme náhodný počet řešení
|
||||||
# vybereme nahodny vzorek resitelu o delce poctu reseni
|
|
||||||
# (nebo skoro vsechny resitele, pokud jich je mene nez pocet reseni)
|
|
||||||
for ri in range(poc_reseni):
|
for ri in range(poc_reseni):
|
||||||
res_vyber = rnd.sample(resitele, rnd.randint(1, 5))
|
if rnd.randint(1, 10) == 6:
|
||||||
|
# cca desetina řešení od více řešitelů
|
||||||
|
res_vyber = rnd.sample(resitele, rnd.randint(2, 5))
|
||||||
|
else:
|
||||||
|
res_vyber = rnd.sample(resitele, 1)
|
||||||
|
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()
|
||||||
res = Reseni.objects.create(forma=rnd.choice(Reseni.FORMA_CHOICES)[0])
|
|
||||||
#res.save() <- asi smazat
|
|
||||||
res.resitele.set(res_vyber)
|
res.resitele.set(res_vyber)
|
||||||
res.save()
|
res.save()
|
||||||
hod = Hodnoceni.objects.create(
|
hod = Hodnoceni.objects.create(
|
||||||
|
|
Loading…
Reference in a new issue