random

=Módulo random= El módulo ** random ** es una librería que añade a Python funciones que generan y manejan números aleatorios. Por ejemplo, la función **randint** de este módulo toma dos argumentos y devuelve un número entero al azar entre ellos (incluidos). Prueba lo siguiente en el intérprete para simular el lanzamiento de un dado (¡te puede salir cualquier otro valor!): code format="python" >>> import random >>> random.randint(1, 6) 6 code Pero esto es solo un ejemplo más bien básico de lo que se puede hacer. [|Aquí] aparece un listado más completo, que podéis usar cuando queráis. Eso sí, está en inglés; aseguraros de tener un buen traductor a mano para las palabras que no entendáis.

A continuación, una pequeña lista de los métodos más útiles del módulo **random**:

random.random
Devuelve un número decimal, o float al azar entre 0 y 1. code format="python" >>> import random >>> random.random 0.37444887175646646 code

random.uniform(a, b)
Al igual que **random.random**, devuelve un número float aleatorio, entre **a** y **b**. Puede ser útil para calcular seleccionar la velocidad de un enemigo durante el juego, por ejemplo. code format="python" >>> import random >>> random.uniform(5, 10) 9.6354960173606044 >>> random.uniform(5, 10) 6.0 code

random.randint(a, b)
Como se explicó al inicio de esta página, **random.randint** devuelve un valor entre **a** y **b**, que como habeis podido notar, es un número entero, o integer.

code format="python" >>> import random >>> random.randint(2, 8) 4 code

random.randrange(a, b, step)
Si os acordáis, podíamos mostrar los elementos de una lista según cierto orden (por ejemplo, solo los impares, o solo uno cada tres elementos, y demás). Bien, pues esto es lo mismo. Python escoge un número al azar entre **a** y **b** cada **step**. Por ejemplo: code format="python" >>> import random >>> random.randrange(6, 20, 2) 8 code En este ejemplo, solo podríamos obtener los números pares del 6 al 20). Atención, los argumentos deben ser siempre números enteros, por lo que el resultado siempre será un entero.

random.choice([a, b, c...])
Ahora esta función, en lugar de devolvernos un número, nos devuelve un elemento de una lista, seleccionado al azar. Puede resultar útil para que al matar un enemigo este deje caer munición, vida o lo que se os ocurra. Puede usarse también con tuplas, o con listas y tuplas almacenadas en variables. code format="python" >>> import random >>> random.choice(['life', 'ammo', 'money', 'nothing']) 'money' >>> random.choice(('Yes', 'No', 'Maybe')) 'No' >>> zombieLot = ['life', 'ammo', 'money', 'nothing'] >>> random.choice(zombieLot) 'ammo' code

random.shuffle([a, b, c...])
También trabaja con listas, de hecho, trabaja igual que **random.choice** pero aquí simplemente "desordena" los elementos. code format="python" >>> import random >>> zombieLot = ['life', 'ammo', 'money', 'nothing'] >>> zombieLot = random.shuffle(zombieLot) >>> zombieLot ['ammo', 'money', 'nothing', 'life'] code