Advertisement
uopspop

Untitled

Oct 10th, 2018
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.98 KB | None | 0 0
  1.  
  2. # define how close is close enough to be considered the same
  3. epsilon = 0.0000001
  4.  
  5. def find_square_root(num, guess):
  6.     if guess == 0:
  7.         print('guess cannot be zero')
  8.         return
  9.     while True:
  10.         # find a closer root each time  
  11.         better_guess = (guess + num/guess) / 2
  12.         print('guess={:f} better_guess={:f}' .format(guess, better_guess))
  13.         # in order to compare floats, we need to use abs with epsilon since floats are only approximate number
  14.         # if it's close enough, let's return this guess as the final answer
  15.         if (abs(better_guess - guess) < epsilon):
  16.             return guess
  17.             break
  18.         guess = better_guess    
  19.  
  20. # square_root = find_square_root(100,0)
  21. # square_root = find_square_root(100,100)
  22. # square_root = find_square_root(100,101)
  23. # square_root = find_square_root(100,-1) # you'll get a negtive result which is still one of its square roots.
  24. square_root = find_square_root(100,1)
  25. print(square_root)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement