AD

¿Ya dominas lo básico? Un curso estructurado de Swift es la vía rápida para dar el salto.

Ver cursos de Swift en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐦Lecciones de Swift
Lección 53 / 68

Generar números aleatorios

En esta lección obtendrás valores impredecibles.

Int.random(in: 1...6) devuelve un entero del rango, y randomElement() elige un elemento de una colección.

El código de ejemplo simula una tirada de dado y una jugada de piedra, papel o tijera. El resultado cambia cada vez: la salida de referencia es solo una de las posibles.

Estos métodos llegaron en Swift 4.2 y resolvieron un problema real: antes había que usar funciones de C, con sesgos fáciles de introducir al ajustar el rango con el módulo. La versión de Swift reparte de forma uniforme y no hace falta inicializar ninguna semilla.

randomElement() devuelve un opcional, porque una colección vacía no tiene ningún elemento que elegir. El ejemplo lo fuerza con ! porque la lista es literal y no puede estar vacía.

Para seguridad —contraseñas, tokens, claves— estos métodos no bastan: hay que usar SecRandomCopyBytes o CryptoKit, que toman entropía del sistema. Y para pruebas reproducibles se puede inyectar un generador propio, ya que las funciones aceptan uno como argumento.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Swift directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)