擅长:python、mysql、java
<p>对于Michael的默认值解决方案,另一种方法是定义newtonSquare函数的局部递归函数:</p>
<pre><code>def newtonSquare(x):
def f(x, estimate):
if abs(x-estimate ** 2) <= 0.000001:
return estimate
else:
return f(x, (estimate + x / estimate) / 2)
return f(x, 1.0)
def main():
num = int(raw_input('Enter a positive number >> '))
print newtonSquare(num)
main()
</code></pre>
<p>在这种情况下,使用默认值会更好、更灵活,但这仍然是一个有用的模式。在</p>