-
Notifications
You must be signed in to change notification settings - Fork 0
/
caixas.py
33 lines (22 loc) · 1.26 KB
/
caixas.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#! /usr/bin/python
# simulacao para verificar probabilidade do problema das caixas com bolas coloridas (3o problema):
# https://www1.folha.uol.com.br/colunas/marceloviana/2021/12/desafios-matematicos-para-a-familia-no-reveillon.shtml
# https://outline.com/CtGjFw
import random as rnd
import math
caixas = [['branco','branco'],['branco','preto']] #caixa com duas bolas pretas eh irrelevante
jogadas = 100000
n_branco = 0
n_branco_branco = 0
for i in range (0,jogadas):
icaixa = rnd.randint(0,1) #escolha aleatoria entre caixa 1 ou 2
c_selecionada = caixas[icaixa]
bola = rnd.randint(0,1) #escolha aleatoria entre bola 1 ou 2
if c_selecionada[bola] == 'branco': #tirei bola branca?
n_branco +=1
if icaixa == 0: #segunda bola sera branca?
n_branco_branco += 1
razao = 100. * float(n_branco_branco) / float(n_branco)
erro = 100. * math.sqrt(float(n_branco_branco)) / float(n_branco) #incerteza estatistica (otimista? soh considerando numerador, fadiga de propagar se tiver que considerar denominador...)
print('Probabilidade da segunda bola ser branca, se tirei uma branca primeiro (%i simulacoes):'%jogadas)
print('(%.1f'%razao + " +/- " + '%.1f'%erro + ')%')