Can you make the array be randomly genorated instead of already named values, and ask the user to enter the number of numbers that will be genorated in the array. Everything else can stay the same.
Can you make the array be randomly genorated instead of already named values, and ask the user to enter the number of numbers that will be genorated in the array. Everything else can stay the same.
'''
def binary_search(arr, x):
low = 0
high = len(arr) - 1
mid = 0
while low <= high:
mid = (high + low) // 2
if arr[mid] < x:
low = mid + 1
elif arr[mid] > x:
high = mid - 1
else:
return mid
return -1
arr = [ 2, 3, 4, 10, 40 ]
print("The array is [ 2, 3, 4, 10, 40 ]")
x = int(input("Enter which value do you seek to find from the array above? "))
while not (x==2 or x==3 or x==4 or x == 10 or x == 40):
print("Option isn't in the array.")
x = int(input("Please input a valid number to search "))
result = binary_search(arr, x)
print("Searching for", x)
if result != -1:
print("Element is present at index", str(result))
Step by step
Solved in 2 steps with 1 images