How would you break this down to know what needs to be called over and over to get the recursive effect? I have to rewrite this method as phython resurvise method to find the square root of a number inputed by user - def newton(x):     """Returns the square root of x."""     # Perform the successive approximations     estimate = 1.0     while True:         estimate = (estimate + x / estimate) / 2         difference = abs(x - estimate ** 2)         if difference <= TOLERANCE:             break     return estimate     complete code from assignment - rewrite the newton method as recursive import math # Initialize the tolerance TOLERANCE = 0.000001 def newton(x):     """Returns the square root of x."""     # Perform the successive approximations     estimate = 1.0     while True:         estimate = (estimate + x / estimate) / 2         difference = abs(x - estimate ** 2)         if difference <= TOLERANCE:             break     return estimate def main():     """Allows the user to obtain square roots."""     while True:         # Receive the input number from the user         x = input("Enter a positive number or enter/return to quit: ")         if x == "":              break         x = float(x)         # Output the result         print("The program's estimate is", newton(x))         print("Python's estimate is     ", math.sqrt(x)) if __name__ == "__main__":     main()

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

How would you break this down to know what needs to be called over and over to get the recursive effect?

I have to rewrite this method as phython resurvise method to find the square root of a number inputed by user -

def newton(x):
    """Returns the square root of x."""
    # Perform the successive approximations
    estimate = 1.0
    while True:
        estimate = (estimate + x / estimate) / 2
        difference = abs(x - estimate ** 2)
        if difference <= TOLERANCE:
            break
    return estimate

 

 

complete code from assignment - rewrite the newton method as recursive import math

# Initialize the tolerance
TOLERANCE = 0.000001

def newton(x):
    """Returns the square root of x."""
    # Perform the successive approximations
    estimate = 1.0
    while True:
        estimate = (estimate + x / estimate) / 2
        difference = abs(x - estimate ** 2)
        if difference <= TOLERANCE:
            break
    return estimate

def main():
    """Allows the user to obtain square roots."""
    while True:
        # Receive the input number from the user
        x = input("Enter a positive number or enter/return to quit: ")
        if x == "":
             break
        x = float(x)
        # Output the result
        print("The program's estimate is", newton(x))
        print("Python's estimate is     ", math.sqrt(x))

if __name__ == "__main__":
    main()
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 3 images

Blurred answer
Knowledge Booster
Time complexity
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education