Ciao, mi ero trovato a scrivermi qualcosa di simile tempo fa;
ti copioincollo quel che ho fatto io, penso si possa adattare facilmente: import random #puoi mettere quanti nomi vuoi, con "frequenze assolute" d = {'T':20,'C':80} #calcola distribuzione cumulata def cdistr(d): L = d.items() L.sort() X = sum(x[1] for x in L) + 0.0 x = 0 S = [0] * len(L) for n,t in enumerate(L): x += t[1]/X S[n] = (n,t[0],x) return S #ricerca binaria su lista di tuple di 3 elementi ordinata rispetto al terzo def bsearch(L,y0,key=lambda x : x[2]): n0,n1 = 0,len(L)-1 while n0+1 < n1: n = (n0+n1) // 2 y = key(L[n]) if y > y0: n1 = n else: n0 = n if y0 < key(L[n0]): return L[n0] return L[n1] #estrae un valore casuale secondo la distr di freq. F def getrndval(F): y = random.random() t = bsearch(F,y) return t[1] #Verifica: F = cdistr(d) C = {} #Facciamo 100000 prove for n in xrange(10000): tc = getrndval(F) try: C[tc] += 1 except KeyError: C[tc] = 1 #Vediamo cosa viene: >>> (C['T']+.0) / sum(C.values()) 0.1968 #e ricordando che d = {'T':20,'C':80} #abbiamo che 'T' esce circa il 20% delle volte, come giusto. Spero ti torni grossomodo utile Ciao Stefano 2012/6/29 Antonio Piepoli <piepoli.anto...@gmail.com> > Si mi rendo conto che finirò a scrivermelo da solo ... > Purtroppo chi gestisce quel sito non ha risposto alla mia domanda. > > Grazie anche per quel sito, provo a darci un'occhiata. > > Il giorno 28 giugno 2012 21:03, Marco Mariani <bir...@gmail.com> ha > scritto: > >> 2012/6/28 Antonio Piepoli <piepoli.anto...@gmail.com> >> >> Sto cercando un sistema che generi tabelle. Ho trovato questo >>> http://www.generatedata.com/#about ma purtroppo non forniscono nessuna >>> informazione sulla statistica dei dati (quanti nomi ci sono? che >>> distribuzione scelgono?). >>> >>> Qualcuno ne conosce altri ? >>> >> >> io penso di avere usato questo, un paio di volte >> >> http://www.fakenamegenerator.com/order.php >> >> >> >> _______________________________________________ >> Python mailing list >> Python@lists.python.it >> http://lists.python.it/mailman/listinfo/python >> >> > > > -- > Antonio Piepoli > > > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > >
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python