Python epsilon在二分法搜索算法中使用时做什么? x=25 ε=0.01 数值=0 ans=0.0 当abs(ans**2-x)>=epsilon和ans=epsilon时: 打印“x的平方根失败” 其他: 打印ans,'接近,'x的平方根

Python epsilon在二分法搜索算法中使用时做什么? x=25 ε=0.01 数值=0 ans=0.0 当abs(ans**2-x)>=epsilon和ans=epsilon时: 打印“x的平方根失败” 其他: 打印ans,'接近,'x的平方根,python,binary,binary-search-tree,bisection,Python,Binary,Binary Search Tree,Bisection,我不太确定这是Python问题,而不仅仅是数学问题 ε是你给的一个公差。否则,你的数字可能非常小,但仍然不是零,这实际上是数字噪声 基本上数学上正确,将差异与一些公差进行比较,而不是直接与数字进行比较,例如,由于上述原因,**2==x亲爱的@Seth Garrett,请澄清您的问题和目标 x = 25 epsilon = 0.01 numGuesses = 0 ans = 0.0 while abs(ans**2 - x) >= epsilon and ans <= x: a

我不太确定这是Python问题,而不仅仅是数学问题

ε是你给的一个公差。否则,你的数字可能非常小,但仍然不是零,这实际上是数字噪声
基本上数学上正确,将差异与一些公差进行比较,而不是直接与数字进行比较,例如,由于上述原因,**2==x

亲爱的@Seth Garrett,请澄清您的问题和目标
x = 25
epsilon = 0.01
numGuesses = 0
ans = 0.0
while abs(ans**2 - x) >= epsilon and ans <= x:
    ans += 0.00001
    numGuesses += 1
print 'numGuesses =', numGuesses
if abs(ans**2 - x) >= epsilon:
    print 'Failed on square root of', x
else:
    print ans, 'is close to square root of', x