Learn the Bisection Method by Finding the Square Root of a Number - Step 17

Tell us what’s happening:

I am sure the code is correct and the space as well but the code do not pass. I reseted the task severl time and refresh the browers and finally re-added the code …but nothing…
Four eyes are better than 2…really appreciate you input.

Your code so far

def square_root_bisection(square_target, tolerance=1e-7, max_iterations=100):
    if square_target < 0:
        raise ValueError('Square root of negative number is not defined in real numbers')
    if square_target == 1:
        root = 1
        print(f'The square root of {square_target} is 1')
    elif square_target == 0:
        root = 0
        print(f'The square root of {square_target} is 0')

    else:
        low = 0
        high = max(1, square_target)
        root = None
        
        for _ in range(max_iterations):
            mid = (low + high) / 2
            square_mid = mid**2

            if abs(square_mid - square_target) < tolerance:
                root = mid
                break

            elif square_mid < square_target:
                low = mid
            else:
                high = mid


# User Editable Region

    if root is None:
     print(f'Failed to converge within {max_iterations} iterations.')

# User Editable Region


Your browser information:

User Agent is: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36

Challenge Information:

Learn the Bisection Method by Finding the Square Root of a Number - Step 17

1 Like

Hello,
this is just an indentation error the if statement you added should be at the same level as the for loop before it

3 Likes

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.