для решения этой проблемы:биномиальное распределение вероятностей в питона
Соотношение мальчиков и девочек для детей, рожденных в России 1,09: 1 Если есть один ребенок, родившийся за рождения, какова доля российских семей именно с 6 детьми будет есть как минимум 3 мальчика? Написать программу для вычисления ответа с использованием указанных выше параметров: Одна строка, содержащая следующие значения:
1,09 1
это моя программа:
pp=str(input())
p1=float(pp[:pp.find(' ')])
p2=float(pp[pp.find(' ')+1:])
pf=0.0
pa=0.0
from math import factorial as f
def comb(n,r):
return f(n)/f(r)/f(n-r)
for i1 in range(1,7):
if i1>=3:
pf=pf+(pow(p1,i1)+pow(p2,6-i1))*comb(6,i1)
pa=pa+(pow(p1,i1)+pow(p2,6-i1))*comb(6,i1)
print("%.3f"%(pf/pa))
ответ Ive получил это 0,688 где правильный ответ 0.696, в чем проблема в моем коде?
В чем смысл этих переменных? Также: вы принимали во внимание, что в семьях могут быть дети * 0 * для мужчин? Ваш цикл 'for' начинается с' 1', поэтому может возникнуть небольшая ошибка. – Bakuriu
pa - полная вероятность, а pf - вероятность цели, p1 - вероятность мальчиков, а p2 для девочек, после фиксации для начальной точки теперь я получаю 0.679 еще не правильный. –
Самая вопиющая ошибка в вашем коде, для меня, есть в математике: 1.09 и 1 - это не вероятности. – ShreevatsaR