¿Cómo crear un valor random no repetido?

Cecilia Lucía Gigena shared this question 1 year ago
Answered

Hola,

Estoy interesada en crear un juego de cartas. Cada carta poseería un texto elegido aleatoriamente dentro de una lista.

Había pensado en programar lo siguiente:

-Que haciendo click en algún lado, se cree un elemento nuevo

-Que ese elemento nuevo contenga un texto

-Que el contenido del texto se encuentre definido en un elemento de la lista

-Que los elementos de la lista sean elegidos con el comando "random"

Mi preocupación es que, al utilizar el comando random, se repitan valores en el algún momento, lo cual haría que se generen dos cartas exactamente iguales (lo cual no ocurriría nunca en un mazo de verdad).

En lenguaje SQL existe una opción llamada .append, que al ejecutar una acción, agrega un elemento nuevo a una lista. ¿Existe algo similar en GeoGebra? Mi intención sería que, dada una Lista 1, cada elemento de la Lista 1 que ya haya sido utilizado, se agregue a la Lista 2. Entonces podré restringir que el texto creado se encuentre en Lista 1 y NO se encuentre en Lista 2.

Best Answer
photo

crea una lista de valores y usa randomelement()

si no quieres que se repitan crea una lista con shuffle() y usalos secuencialmente

Comments (7)

photo
2

crea una lista de valores y usa randomelement()

si no quieres que se repitan crea una lista con shuffle() y usalos secuencialmente

photo
1

gracias! funciona para crear el valor PERO... hay un problemita: me modifica los valores anteriores! tengo texto 1=n, texto2=n, texto3=n, todos los textos dicen lo mismo. Yo quería ir conservando los anteriores, algo así: texto1=Lista1(1), texto2=Lista1(2)... etc... cada texto creado, un item de la lista.

El texto nuevo se crea al hacer click en el mazo.

photo
1

también probé crear una lista con los valores que fueron saliendo sorteados, pero no me deja tomar un elemento de la lista y cambiarlo de lugar, tengo que mover todos juntos

photo
photo
1

gracias! voy a probar eso

photo
1

thank you but I expect to be able to move the cards, not only sort them. Otherwise, how would I play?

photo
© 2023 International GeoGebra Institute