LINUX.ORG.RU

История изменений

Исправление AndreyKl, (текущая версия) :

на дружище, не благодари

from __future__ import division
from random import randint
from random import choice

found_gold1 = 0
found_gold2 = 0
for i in xrange(10000):
    boxes = [['gold','gold'],['gold','silver'], ['silver', 'silver']]
    selected_box = randint(0,2)
#    boxes[selected_box].remove('gold')
    randomcoin = choice(boxes[selected_box])
    boxes[selected_box].remove(randomcoin)
#     нас интересует вероятность того что "при попавшейся золотой монетке"
    if "gold" == randomcoin:
#     поэтому сначала мы считаем сколько раз первой попалась золотая монетка из всего числа эксперементов
      found_gold1 += 1
#     так вот, на интересует вероятность того что "в сундуке осталась ещё одна золотая монета"
      if "gold" in boxes[selected_box]:
#       её и считаем, собственно
        found_gold2 += 1

# ну и потом делим одно на другое
print found_gold2/found_gold1



а ты просто считаешь сколько раз у тебя за весь эксперемент выпал первый сундук. ясное дело половину случаев, что тут считать то. кстати, добавь у себя ещё один сундку и удивись, почему изменилось твоё число. ведь ты исключал его на основании того «что он не повлияет», я так понимаю.

а вот в моём варианте действительно не влияет :)

Исходная версия AndreyKl, :

на дружище, не благодари

from __future__ import division
from random import randint
from random import choice

found_gold1 = 0
found_gold2 = 0
for i in xrange(10000):
    boxes = [['gold','gold'],['gold','silver'], ['silver', 'silver']]
    selected_box = randint(0,1)
#    boxes[selected_box].remove('gold')
    randomcoin = choice(boxes[selected_box])
    boxes[selected_box].remove(randomcoin)
#     нас интересует вероятность того что "при попавшейся золотой монетке"
    if "gold" == randomcoin:
#     поэтому сначала мы считаем сколько раз первой попалась золотая монетка из всего числа эксперементов
      found_gold1 += 1
#     так вот, на интересует вероятность того что "в сундуке осталась ещё одна золотая монета"
      if "gold" in boxes[selected_box]:
#       её и считаем, собственно
        found_gold2 += 1

# ну и потом делим одно на другое
print found_gold2/found_gold1



а ты просто считаешь сколько раз у тебя за весь эксперемент выпал первый сундук. ясное дело половину случаев, что тут считать то. кстати, добавь у себя ещё один сундку и удивись, почему изменилось твоё число. ведь ты исключал его на основании того «что он не повлияет», я так понимаю.

а вот в моём варианте действительно не влияет :)