def sqrt (n, one):
floating_point_precision = 10*16
n_float = float(( n * floating_point_precision) // one) / floating_point_precision
x = (int(floating_point_precision * math.sqrt(n_float)) * one) // floating_point_precision
n_one = n * one
while 1:
x_old = x
x = ( x + n_one // x) // 2
if x == x_old:
return x
print "The newton estimate of", mynum, "is", sqrt(mynum)
Traceback (most recent call last):
File "/Users/Brett/Desktop/Python/squareroot.py", line 21, in <module>
print "The newton estimate of", mynum, "is", sqrt(mynum)
TypeError: sqrt() takes exactly 2 arguments (1 given)
答案 0 :(得分:3)
您的sqrt
函数有两个参数,但您只提供了一个参数。似乎第二个参数应该是值“1”。
print "The newton estimate of", mynum, "is", sqrt(mynum, 1.0)
答案 1 :(得分:2)
您已将sqrt
定义为带有两个参数的函数。稍后,您的代码会引用您的函数:sqrt
。尝试更改"/Users/Brett/Desktop/Python/squareroot.py", line 21
以使用math.sqrt
,或为其提供第二个参数。
答案 2 :(得分:2)
您的sqrt()
函数有两个参数,n
和one
。但是,在最后一行中,您只传递一个参数。
答案 3 :(得分:2)
def sqrt(n,one):
有2个参数,并使用
调用它sqrt(mynum)
这是一个参数