Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from random import randint
- def test_func(err_number, get_err):
- if get_err >= err_number:
- return True
- return False
- def search(A):
- err_number = randint(0, 10)
- print("ERROR NUMBER", err_number)
- L = 0
- R = len(A) - 1
- while L <= R:
- m = int((L + R) / 2)
- g = test_func(err_number, m)
- g1 = test_func(err_number, m+1)
- if m == 0 and g is True:
- return A[m]
- if g is False and g1 is True:
- return A[m]
- if not g:
- L = m + 1
- elif g:
- R = m - 1
- else:
- return A[m]
- return -1
- found_test_cases = [
- [1, 2, 3, 4, 5, 6, 7],
- [1, 2, 3, 4, 5, 6, 7],
- [1, 2, 3, 4, 5, 6, 7]
- ]
- no_found_test_cases = [
- (100, [1, 2, 3, 4, 5, 6, 7]),
- (100, [1, 2, 3, 4, 5, 6, 7]),
- (-1555, [1, 2, 3, 4, 5, 6, 7])
- ]
- for A in found_test_cases:
- value = search(A)
- print(value)
- # for T, A in no_found_test_cases:
- # index, value = search(A, T)
- # assert (index, value) == (-1, None)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement