Primera entrega de la nueva serie BitBite Python, dedicada íntegramente a mostrar código diverso en acción. No se puede aprender a programar simplemente leyendo teoría; es necesario arremangarse y ponerse a escribir código, planteando y resolviendo problemas concretos. Pero, al igual que cuando se aprende física o matemáticas, el estudio de problemas resueltos debe servir para enriquecer los recursos disponibles a la hora de enfrentarnos con otros desafíos.
Todo el código que aparecerá en esta serie habrá sido tratado adecuadamente en los capítulos de teoría y deberás remitirte a ellos si algún concepto no lo tuvieses suficientemente claro. Piensa en estos programas como la práctica necesaria que complementa los artículos teóricos. Aunque se puede aprender a programar simplemente estudiando otros programas y programando, estudiar la teoría te allanará y acortará el camino.
En el artículo Productividad Aleatoria, describí una técnica que empleo eventualmente para seguir siendo productivo incluso cuando la indecisión me paraliza a la hora de elegir la próxima tarea a afrontar: eligiéndola al azar.
Para ello, utilizo el generador de números aleatorios de random.org, o el propio widget que he colocado en el pie de página del blog.
Vamos a realizar un programa en Python que se ocupe precisamente de esto mismo: la elección de un número entero al azar dentro de un rango especificado por el usuario.
Comenzamos…
import random
La función clave del programa se encuentra dentro del módulo de la librería de Python, random.py, especializado en el manejo de números aleatorios. Debemos importar el módulo para poder utilizar las funciones que contiene.
min = int(input('Mínimo: '))
max = int(input('Máximo: '))
Introducimos el rango de valores entre los cuales, inclusive, se elegirá el número al azar. Observa la conversión explícita a entero con int, pues input nos devuelve una cadena de caracteres.
aleatorio = random.randint(min, max)
Elegimos un número aleatorio entre min y max y lo almacenamos en la variable aleatorio. La función randint se ocupa de esta elección, cuyos parámetros definen el rango del que se tomará el entero al azar. Fíjate que para poder utilizarla es preciso anteponer al nombre de la función el nombre del módulo al que pertenece, separados por un punto.
Si no hubiésemos convertido min y max a enteros, el programa devolvería un error, pues los parámetros que la función randint requiere deber ser de ese tipo, y no strings.
print('Número aleatorio entre', min, 'y', max, '--> ', aleatorio)
Finalmente, mostramos el resultado de la elección.
El fichero aleatoria.py contiene el código fuente completo del programa.
Javier Montero Gabarró
http://elclubdelautodidacta.es/wp/2012/02/bitbite-python-1-aleatoria/
El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)
El Club del Autodidacta