Python:函数内外的准确度不同

Kon*_*tin 0 python

我知道在Python和一般情况下有很多关于浮点精度的问题和文章.但我没有找到这个问题的答案.

我通过调用函数计算一次相同的语句,第二次没有它.由函数计算的值偏差为0.003,这不是很小.如何从功能中获得相同的精度?

from scipy.stats import norm
from math import *

sigma = 0.174


def g(ltv):
    ans = 1 - norm.cdf(0.5 * pow(sigma, 2) - log(ltv) / sigma)
    print(ans)

g(0.7)

ans1 = 1 - (norm.cdf((0.5 * pow(sigma, 2) - log(0.7)) / sigma))
print(ans1)
Run Code Online (Sandbox Code Playgroud)

输出:

0.0194617840206

0.016304852863

fre*_*ish 5

我正在计算相同的陈述

不你不是.这个

0.5 * pow(sigma, 2) - log(ltv) / sigma
Run Code Online (Sandbox Code Playgroud)

不是等同于这个

(0.5 * pow(sigma, 2) - log(0.7)) / sigma
Run Code Online (Sandbox Code Playgroud)

运营商的优先权,伙计.