Answer to Question #277743 in Python for solokin

Question #277743

Encapsulate the following Python code from Section 7.5 in a function named my_sqrt that takes a as a parameter, chooses a starting value for x, and returns an estimate of the square root of a.



while True:


y = (x + a/x) / 2.0


if y == x:


break


x = y






1
Expert's answer
2021-12-09T07:29:43-0500
import ​math


def my_sqrt(a):
   ​x = 1
   ​while True:
       ​y = (x + a / x) / 2.0
       ​if y == x:
           ​break
       ​x = y

   ​return y


def test_sqrt():
   ​for a in range(1000, 1020):
       ​approxsqrt = my_sqrt(a)
       ​actualsqrt = math.sqrt(a)
       ​print("a =", a,
             ​"approx. sqrt =", approxsqrt,
             ​"actual sqrt =", actualsqrt,
             ​"difference =", abs(approxsqrt - actualsqrt)

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS