Aleatoriedad en Python.

Hola a tod@s, una cosa importante en cualquier lenguaje de programación, es la forma en que se generen los números aleatorios, por ejemplo, para un juego, y como no es de extrañar python ya nos ofrece formas muy sencillas y potentes para gestionar este aspecto.





Para ello usamos el módulo random, el cual también nos provee de un montón de métodos muy interesantes como randint que genera números enteros entre A y B elementos, por ejemplo:

#!/usr/bin/python2


import random


numero_entero=random.randint("Escoja el primer valor del rango...", "Escoja el segundo valor del rango...")


print numero_entero

input()


Si sois antiguos programadores de C u otro lenguaje más complejo que python, os extrañará ver que no cambiamos la semilla con la que se generan los números aleatorios, algo que en C había que hacer obligatoriamente para no generar los mismos números en cada ejecución, y aunque, con el método seed podemos realizarlo al igual que en C, en python, si se omite, se genera automáticamente a través de la hora del sistema.

Si lo que queremos es generar números aleatorios realmente seguros para el uso, por ejemplo, en criptografía, podemos usar los módulos os.random (con el cual se obtiene números aleatorios a través del motor aleatorio del sistema operativo, por lo tanto, variará depende del SO), y el módulo Systemrandom.

Para más información podéis ver el documento en el sitio oficial de python, que por cierto está muy bien documentado.

0 comentarios: