Tell us what’s happening:
Step 11
Now you’ll repeatedly narrow down the interval by finding the midpoint of the current interval and comparing the square of the midpoint with the target value.
For that, inside the else block, create a for loop that runs up to max_iterations times.
For your loop, use the range function, which generates a sequence of numbers you can iterate over. The syntax is range(start, stop, step), where start is the starting integer (inclusive), stop is the last integer (not inclusive), and step is
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')
return root
elif square_target == 0:
root = 0
print(f'The square root of {square_target} is 0')
return root
low = 0
high = max(1, square_target)
# User Editable Region
root = None
for _ in range(max_iterations):
# User Editable Region
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36
Challenge Information:
Learn the Bisection Method by Finding the Square Root of a Number - Step 11