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
	
	 Anet
						Anet