我已经解决了以前的一个问题,而现在我却被这个问题所困扰。 它要求改进我在下面发布的先前的解决方案,但不太明白问题的实质。(同时,也不知道如何解决它。) 请帮忙 谢谢。在
问题: Elena抱怨project2中的递归newton函数包括 估计值的额外参数。函数的用户不必 当他们调用这个函数时,提供这个值,这个值总是相同的。 修改函数的定义,使其使用关键字参数 并调用函数 没有第二个论证来证明它解决了这个问题。在
这是我的代码:
def newtonSquare(x, estimate):
if abs(x-estimate ** 2) <= 0.000001:
return estimate
else:
return newtonSquare(x, (estimate + x / estimate) / 2)
def main():
num = int(raw_input('Enter a positive number >> '))
print newtonSquare(num, 1.0)
main()
对于Michael的默认值解决方案,另一种方法是定义newtonSquare函数的局部递归函数:
在这种情况下,使用默认值会更好、更灵活,但这仍然是一个有用的模式。在
问题是有人抱怨说,当某人调用
newtonSquare
时,他们总是以1.0的初始估计值来这么做。若要将其设置为默认值,除非显式提供,否则只需将函数的定义修改为:相关问题 更多 >
编程相关推荐