El uso de la biblioteca aleatoria de notas de Python

1.
Importación aleatoria de llamadas de biblioteca aleatoria
o
de importación aleatoria *
 
2. Biblioteca aleatoria comúnmente utilizada función
descripción de función
semilla () inicialización número aleatorio semilla, el valor predeterminado es el tiempo actual del sistema
aleatorio () genera aleatoriamente un decimal entre [0.0, 1.0)
randint (a, b) genera aleatoriamente un número entero en [a, b]
randrange (a, b, c) genera aleatoriamente un número entero
uniforme (a, b) entre [a, b) con un tamaño de paso de c Genere aleatoriamente una
opción decimal aleatoria ( [a, b] ) del tipo de secuencia (como una lista) para devolver aleatoriamente un elemento
aleatorio () para barajar los elementos en la secuencia y devolver
2. Experimento
>>> aleatorio ()
0.8212324692623353
>>> randint (1,10)
9
>>> randrange (1,10,2)
3
>>> uniforme (1,5)
2.5155496299589983
>>> elección (rango (20))
2
>>> s = (1 , 5,6,9,8,7]
>>> barajar (s)
>>> imprimir (s)
[1, 5, 9, 8, 7,6]
>>> elección (es)
9
 
2.2 Aplicación de la función seed ()
Antes de generar un número aleatorio, primero puede especificar un seed de número aleatorio a través de la función seed (). El seed de número aleatorio es generalmente un número entero. Mientras la semilla sea la misma, la secuencia de números aleatorios generada cada vez también es la misma

2.2. Ejemplo
>>> "{}". Formato (randint (1,10))
'10'
>>> "{}". Formato (randint (1,10))
'1'
>>> semilla (10)
>>> "{}". format (randint (1,10))
'10'
>>> "{}". format (randint (1,10))
'1' Asignamos
 
la semilla dos veces, la primera Los resultados de la primera y segunda vez son exactamente los mismos, por lo que podemos conocer el papel de las semillas de números aleatorios.

2. Los
números aleatorios expandidos y los eventos aleatorios son inciertos, y sus resultados son impredecibles e impredecibles antes de que se generen. Pero el número aleatorio generado por la computadora es predecible y determinable, porque el número aleatorio generado por la computadora es el producto del algoritmo (algoritmo Mersenne Twister), por lo que el resultado generado por la computadora se llama "número pseudoaleatorio" Se puede ver en la función seed () anterior que la biblioteca aleatoria genera una secuencia de números pseudoaleatoria cada vez.

3 Adivina el juego
P: preestablece un número entero entre 1 ~ 10, deja que el usuario adivine, si es mayor que el número preestablecido, mostrará un mensaje demasiado grande, si es menor que el número preestablecido, aparecerá demasiado pequeño Pronto. Repita de esta manera hasta que adivine el número preestablecido.

de importación aleatoria *
num = randint (1,10) tnum
= eval (input (" Adivine un número entero entre 0 ~ 9:"))
mientras num! = tnum:
if num <tnum:
print ("Big" )
tnum = eval (input ("Adivina nuevamente un número entero entre 0 ~ 9:"))
elif num> tnum:
print ("Small")
tnum = eval (input ("Adivina nuevamente entre 0 ~ 9 Un número entero entre: "))
else:
print (" Lo adivinó ")

 
Agregue una pregunta: si desea mostrar el número total de conjeturas al final, ¿cómo necesita modificar el programa?

de importación aleatoria *
num = randint (1,10)
count = 1
tnum = eval (input ("Adivine un número entero entre 0 ~ 9:"))
mientras num! = tnum:
count + = 1
if num < tnum:
print ("Big")
tnum = eval (input ("Por favor, adivine de nuevo un número entero entre 0 ~ 9:"))
elif num> tnum:
print ("Small")
tnum = eval (input ("Please Nuevamente adivine un número entero entre 0 ~ 9: "))
else:
print (" Lo ha acertado ")
print (" Ha adivinado {} veces ".formato (recuento))

 
4. El problema de la puerta del automóvil
:

Hay 3 puertas cerradas, un automóvil estacionado detrás de una puerta y cabras detrás del resto, solo el anfitrión sabe lo que hay detrás de cada puerta. Los participantes pueden elegir una puerta. Antes de abrirla, el anfitrión abrirá otra puerta, exponiendo la cabra detrás de la puerta y luego permitirá que el concursante cambie su elección.

Me gustaría preguntar:

Analice seriamente, ¿puede tener una mayor probabilidad de obtener un automóvil si no cambia la opción, o puede obtener una mayor probabilidad de obtener un automóvil si cambia la opción?

desde importación aleatoria * #Introducir biblioteca de funciones aleatorias
x = 12345 # Número de juegos jugados
c = 0
# Número de cambios de inicialización para la selección uc = 0 # Número de cambios de inicialización sin selección
para i en el rango (1, x + 1):
a = randint (1,3) #La primera puerta seleccionada
b = randint (1,3) #La segunda puerta seleccionada
si a == b:
uc + = 1 #Cuando la selección no cambia, el número de veces + 1
más :
c + = 1 # Al cambiar la selección, aumente el número de veces en +1
print ("La probabilidad de obtener un automóvil sin cambiar la selección: {}". format (uc / x))
print (" La probabilidad de obtener un automóvil cambiando la selección: { } ". formato (c / x))
---------------------------------------- --------------------- # La probabilidad de obtener un automóvil sin cambiar la
salida
: 0.33584447144592955 La probabilidad de obtener
un automóvil después de cambiar la selección: 0.6641555285540705
 
4. Resumen Cuando
no se cambia la selección La probabilidad de elegir un automóvil es en realidad 1/3, ya sea que elija la puerta del automóvil o elija dos ovejas.
Hay tres situaciones cuando se cambia la selección: la primera es que el automóvil se selecciona al principio. Después de cambiar la selección, se obtiene la oveja. Las dos ovejas fueron elegidas al principio, y el automóvil debe seleccionarse al cambiar, por lo que la probabilidad es 2/3.
Explicado de esta manera, además de la ejecución del programa, podemos saber que la probabilidad de obtener un automóvil será mayor cuando cambie la elección.
————————————————
Declaración de derechos de autor: Este artículo es un artículo original del blogger de CSDN "Ultimate_dream", siguiendo el acuerdo de derechos de autor CC 4.0 BY-SA, adjunte el enlace original y esta declaración para volver a imprimir .
Enlace original: https://blog.csdn.net/Ultimate_dream/article/details/105644648

Supongo que te gusta

Origin www.cnblogs.com/LQZ888/p/12753189.html
Recomendado
Clasificación