Για τσέκαρε την πράξη που κάνεις στον xn.
Θα πρέπει να γράψεις : (x+(N/x))/2


def my_root(c, e=.1, x=1., n=10):
i=0
while i < n :
i+=1
x_old = x
x = (x_old + c/x_old)/2
print x,x_old,i
if abs(x - x_old) < e : break
return x
>>> my_root(16.)
8.5 1.0 1
5.19117647059 8.5 2
4.13666472255 5.19117647059 3
4.0022575248 4.13666472255 4
4.00000063669 4.0022575248 5
4.000000636692939
>>> my_root(16.,.002)
8.5 1.0 1
5.19117647059 8.5 2
4.13666472255 5.19117647059 3
4.0022575248 4.13666472255 4
4.00000063669 4.0022575248 5
4.0 4.00000063669 6
4.000000000000051
>>>

Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι
.
