Verificar cumpleaños "paradoja" con el programa

La "paradoja del cumpleaños" en realidad no es una paradoja, significa que en un grupo con más de 23 personas, la probabilidad de que al menos dos personas tengan un cumpleaños el mismo día es de aproximadamente 0.5. Debido a que esta probabilidad teórica no coincide con la intuición de las personas, se llama una "paradoja".

Podemos verificarlo con un simple applet:

import random
def birth_paradox(n):
    dic={}
    for i in range(n):
        m=random.randint(1,12)
        if m in [1,3,5,7,8,10,12]:
            d=random.randint(1,31)
        elif m in [2]:
            d=random.randint(1,28)
        else:
            d=random.randint(1,30)
        dic[i]=m,d
    if len(set(list(dic.values())))<n:
        return True
    else:
        return False
t=0
for i in range(1000):
    if birth_paradox(23):
        t+=1
print(t/1000)

Los resultados son los siguientes:


Debido a la introducción de números aleatorios, el resultado de cada ejecución es ligeramente diferente ~

Liberadas nueve artículos originales · ganado elogios 1 · vistas 6066

Supongo que te gusta

Origin blog.csdn.net/wcysghww/article/details/80456640
Recomendado
Clasificación