The binary_search function returns the position of key in

The binary_search function returns the position of key in the list if found, or -1 if not found. We want to make sure that it’s working correctly, so we need to place debugging lines to let us know each time that the list is cut in half, whether we’re on the left or the right. Nothing needs to be printed when the key has been located.

For example, binary_search([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3) first determines that the key, 3, is in the left half of the list, and prints “Checking the left side”, then determines that it’s in the right half of the new list and prints “Checking the right side”, before returning the value of 2, which is the position of the key in the list.

Add commands to the code, to print out “Checking the left side” or “Checking the right side”, in the appropriate places.

def binary_search(list, key):
#Returns the position of key in the list if found, -1 otherwise.

#List must be sorted:
list.sort()
left = 0
right = len(list) – 1

while left <= right:
middle = (left + right) // 2

if list[middle] == key:
return middle
if list[middle] > key:
right = middle – 1
if list[middle] < key:
left = middle + 1
return -1

print(binary_search([10, 2, 9, 6, 7, 1, 5, 3, 4, 8], 1))
“””Should print 2 debug lines and the return value:
Checking the left side
Checking the left side
0
“””

print(binary_search([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 5))
“””Should print no debug lines, as it’s located immediately:
4
“””

print(binary_search([10, 9, 8, 7, 6, 5, 4, 3, 2, 1], 7))
“””Should print 3 debug lines and the return value:
Checking the right side
Checking the left side
Checking the right side
6
“””

print(binary_search([1, 3, 5, 7, 9, 10, 2, 4, 6, 8], 10))
“””Should print 3 debug lines and the return value:
Checking the right side
Checking the right side
Checking the right side
9
“””

print(binary_search([5, 1, 8, 2, 4, 10, 7, 6, 3, 9], 11))
“””Should print 4 debug lines and the “not found” value of -1:
Checking the right side
Checking the right side
Checking the right side
Checking the right side
-1
“””

 

Stressed over that homework?

Essay deadline breathing down your neck?

Let’s cut to the chase: Why struggle when you can ace it with zero hassle?

Whether it’s essays, research papers, or assignments — we’ve got you covered.

✅ Expert writers
✅ 100% original work
✅ No AI tools, just real pros

Stressed about your essay or homework? Get a top-quality custom essay NOW!!! Stop worrying. Start succeeding.

GradeEssays.com
We are GradeEssays.com, the best college essay writing service. We offer educational and research assistance to assist our customers in managing their academic work. At GradeEssays.com, we promise quality and 100% original essays written from scratch.
Contact Us

Enjoy 24/7 customer support for any queries or concerns you have.

Phone: +1 213 3772458

Email: support@gradeessays.com

© 2020 -2025 GradeEssays.com. All rights reserved.

WE HAVE A GIFT FOR YOU!

15% OFF 🎁

Get 15% OFF on your order with us

Scroll to Top