5.4. El aleatorio módulo (random)
A menudo queremos usar números aleatorios en programas. Aquí hay algunos usos típicos:
Para jugar un juego de azar donde la computadora necesita lanzar algunos dados, elegir un número o voltear una moneda,
Para barajar un mazo de cartas al azar,
Para permitir al azar que aparezca una nueva nave espacial enemiga y te dispare,
Para simular posibles lluvias cuando hacemos un modelo computarizado para Estimación del impacto ambiental de construir una presa,
Para cifrar su sesión bancaria en Internet.
Python proporciona un módulo random
Eso ayuda con tareas como esta. Puede
Míralo en la documentación. Aquí están las cosas clave que podemos hacer con eso.
>>import random
>>prob = random.random()
>>print(prob)
>>diceThrow = random.randrange(1, 7) # return an int, one of 1,2,3,4,5,6
>>print(diceThrow)
Actividad: 5.4.1 Activecode (chmodule_rand)
Presione el botón Ejecutar varias veces. Tenga en cuenta que los valores cambian cada vez. Estos son números aleatorios.
>>>3.096799790368407
>>>4.938011093993421
>>>1.482863932659797
El randrange
la función genera un entero entre su inferior y superior
argumento, usando la misma semántica que range
- Entonces se incluye el límite inferior, pero
Se excluye el límite superior. Todos los valores tienen una probabilidad igual de
(es decir, los resultados se uniformemente ).
El random()
la función devuelve un número de punto flotante en el rango [0.0, 1.0) - el
El soporte cuadrado significa "intervalo cerrado a la izquierda" y el paréntesis redondo significa
"Intervalo abierto a la derecha". En otras palabras, 0.0 es posible, pero todos regresaron
Los números serán estrictamente inferiores a 1.0. Es habitual escalar los resultados después
Llamando a este método, para llevarlos a un rango adecuado para su aplicación.
En el Caso que se muestra aquí, hemos convertido el resultado de la llamada de método a un número en el rango [0.0, 5.0). Una vez más, estos son números distribuidos uniformemente: números Cerca de 0 tienen la misma probabilidad de ocurrir como números cercanos a 0.5, o números cercanos a 1.0. Si continúa presionando el botón Ejecutar, verá valores aleatorios entre 0.0 y hasta pero no incluyendo 5.0.
>>import random
>>prob = random.random()
>>result = prob * 5
>>print(result)
Actividad: 5.4.2 Activecode (chmodule_rand2)
Es importante tener en cuenta que Los generadores de números aleatorios se basan en un determinista , repetible y predecible. Entonces se llaman pseudo-aleatorios : no son genuinamente aleatorios. Comienzan con un de semilla . Cada vez que solicite otro número aleatorio, obtendrá uno basado en el atributo de semilla actual y el estado de la semilla (que es uno de los atributos del generador) se actualizarán. La buena noticia es que cada vez que ejecuta su programa, el valor de la semilla es probable que sea diferente, lo que significa que a pesar de que los números aleatorios se están creando algorítmicamente, es probable que Obtenga un comportamiento aleatorio cada vez que ejecute.
Laboratorio
Ola sinusoidal En este ejercicio de laboratorio guiado, tendremos la trama de tortuga una ola sinusoidal.
Comprueba tu comprensión
¿Cuál de las siguientes es la forma correcta de hacer referencia al valor PI dentro del módulo de matemáticas? Suponga que ya ha importado el módulo de matemáticas.
Actividad: 5.4.3 Opción múltiple (pregunta4_4_1)
¿Qué módulo probablemente usaría si estaba escribiendo una función para simular dados rodantes?
Actividad: 5.4.4 Opción múltiple (pregunta4_4_2)
El código correcto para generar un número aleatorio entre 1 y 100 (inclusive) es:
Actividad: 5.4.5 Opción múltiple (pregunta4_4_3)
Una razón por la que las loterías no usan computadoras para generar números aleatorios es:
Actividad: 5.4.6 Opción múltiple (pregunta4_4_4)
Nota
Este espacio de trabajo se proporciona para su conveniencia. Puede usar esta ventana ActiveCode para probar cualquier cosa que desee.
Actividad: 5.4.7 Activecode (scratch_04)
No hay comentarios.:
Publicar un comentario