100000/1+((2.575**2)*.38*(1-.38)/(.005**2)*100000)
У вас отсутствуют скобки, из-за которых python выполняет неправильный расчет. Помните свои PEMDAS. 100000/1
имеет более высокий приоритет, чем +
В любом случае, вот фиксированная версия:
def the_factor(n, z, p_cap, epsilon, N):
return n / (1 + (((z**2) * (p_cap * (1 - p_cap)))/((epsilon**2) * N)))
print(the_factor(100000, 2.575, 0.38, 0.005, 100000))
Вывод:
61543.38122167427