擅长:python、mysql、java
<p>当你写信的时候</p>
<pre><code>notCloseEnough = abs(guess ** 2 - x) >= epsylon
</code></pre>
<p>您计算了语句<code>abs(guess ** 2 - x) >= epsylon</code>,并将其结果赋给<code>notCloseEnough</code>。不会再次进行该计算,因为您稍后在代码中碰巧引用了它的结果。你知道吗</p>
<p>如果你想重新评估事物,你需要一个函数对象。可以定义对外部函数的局部变量具有可见性的内部函数。你知道吗</p>
<pre><code>def sqrtOf (x):
minVal = 0
maxVal = x
epsylon = 0.001
guess = (maxVal + minVal) / 2.0
guessNumber = 0
def notCloseEnough():
return abs(guess ** 2 - x) >= epsylon
def stillPlausible():
return guess <= x
while notCloseEnough() and stillPlausible():
guessNumber += 1
if abs(guess ** 2) > x:
maxVal = guess
else:
minVal = guess
guess = (maxVal + minVal) / 2.0
return guess
print sqrtOf(25)
</code></pre>