Probabilidades en números aleatorio


#1

Hola, me gustaría saber cómo utilizar probabilidades. Me explico: Lo que necesito es que una etiqueta muestre un número aleatorio de una lista creada. Hasta ahí lo tengo claro, el problema me surge cuando quiero que muestre cada ítem según el porcentaje de veces. Espero haberme explicado.


#2

Cada vez que un numero al azar es generado, guardalo en TinyDB asi:
El tag es el numero generado.
El valor es:
Si ya existe el tag, entonces agregale uno a ese valor.
Si no existe el tag, entonces lo crea con el valor 1.

Al final tendras guardado en TinyDB todos los numero que salieron (como tags) y cuantas veces salio cada numero (en el valor de cada tag).


#3

Hola amigo. Muchas gracias por tu tiempo. No me he explicado bien, voy a intentarlo de nuevo:

Tengo una etiqueta y un botón. Cada vez que se haga clic en el botón la etiqueta mostrará un número de la lista creada (20, 40, 60 y 100). Bien, pues lo que quiero es que, por ejemplo, de cada 100 clics se muestre el “20” el 10% de los clics; el “40” se muestre el 20% de los clics; etc.

Espero haberme explicado mejor. Muchas gracias.


#4

Hola ivanmn88
creo que eso lo consigues con una formula matemática que seria así:

(x.100)/z

te explico
x es igual al numero de veces que ha salido el numero aleatorio (Ejemplo 128 veces)
este valor lo multiplicas por 100 y luego, el resultado lo divides por la suma de numero de veces(z) que han salido entre todos los numeros aleatorios, supongamos 536 veces:
(128.100)/536 esto es igual a 23,8805970149%
Luego en el label coges solo coges los dos primeros decimales y listo!
Ahí tienes el porcentaje de cada valor.
Espero haberme explicado bien y que te sirva de ayuda.
Un saludo


#5

Hola, amigo. Te has explicado perfectamente. Muchas gracias por tu tiempo. Pero de nuevo no me di a entender correctamente. A través de la fórmula que me indicas, lograría saber qué cantidad de veces se mostraron los números (en porcentaje) pero seguirían mostrándose de forma aleatoria, y ésto es lo que no quiero que pase. Necesito que se muestre cada etiqueta el número de veces que yo establezca. Imagina que tengo una lista creada con A, B, C y D y cada vez que pulse el botón quiero que me muestre una de las cuatro, pero NO aleatoriamente. En su caso, por ejemplo, necesitaría que el 10% de las veces (clics) muestre la A, el 20% muestre la B, el 30% muestre la C y el 40% muestre la D.

Muchas gracias por todo. Saludos desde Sevilla.


#6

Creo que es fácil de hacer, me explico
Creas una lista con los cuatro listados, en algún lugar indicas que coja al azar una de las 4 listas (A,B,C o D). Creas cuatro variables (una por cada listado que actúe como contador) y le añades el un valor correspondiente al porcentaje. Por ejemplo, del listado A tu decides que se muestre el 10 por ciento de 100, osea 10 veces. A la variable-contador del listado A, a este contador le asignas un valor (10) y cada vez que aparezca, quita una unidad . En el momento que el valor de este contador de igual a 0, la sacas del listado donde esta las 4 listas.
No se si me explico. Ya me dices si es esto lo que buscas
Saludo desde Calpe (alicante)


#7

No te explicas bien. En tu primer post dices que necesitas mostrar números aleatorios, y luego dices que no deben ser aleatorios. Si son aleatorios, entonces no puedes saber cuantos de cada uno van a salir, porque entonces la lista deja de ser aleatoria.