|
@ -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( |
|
|