Altra possibilità. Supponiamo di avere 20 regioni, 30 stati e 100 province.
Si scrivano le equazioni delle rette passanti per le coppie di punti: ( 0 , 0 ) - ( 20 , 1/3) (20 , 1/3) - ( 50 , 2/3) (50 , 2/3) - (150 , 1 ) Scelto un numero casuale w in ( 0 , 1 ) si stabilisce se è compreso da (0/1/3) o fra (1/3,2/2) oppure fra (2/3, 1 ). Si calcola la corrispondente contro immagine e l’intervallo nel quale questa cade ci dà la regione o la nazione oppure la provincia cercata. In questo modo si effettua un solo sorteggio. Bruno Firmani > Il giorno 12 feb 2024, alle ore 22:13, Marco Beri <marcob...@gmail.com> ha > scritto: > > On Mon, 12 Feb 2024, 21:25 Mauro Casini, <ma...@iperbole.bologna.it > <mailto:ma...@iperbole.bologna.it>> wrote: >> Marco Beri <marcob...@gmail.com <mailto:marcob...@gmail.com>> writes: >> >> >> cas_lst = random.choice((reg_ita, naz_eur, pro_ita)) >> >> cas_fin = random.choice(cas_lst) >> > >> > Non è quello che vuole fare lui. >> > >> > Lui vuole scegliere a caso tra reg_cas, naz_cas e pro_cas. >> >> È la stessa cosa: un elemento casuale con prob. 1/3 reg, 1/3 naz, 1/3 >> pro. È inutle sorteggiare un elemento da ogni lista per poi scartarne >> due, basta estrarne uno solo da una lista scelta a caso fra le tre, > > > > Ah, giusto. Sono stato avventato :-) > > Così ti risparmi due random.choice. > > Ciao. > Marco. > > _______________________________________________ > Python mailing list > Python@lists.python.it <mailto:Python@lists.python.it> > https://lists.python.it/mailman/listinfo/python
_______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python