add type hints to binary_search.py script
diff --git a/coding/python/binary_search.py b/coding/python/binary_search.py
index c8186aea1..168d10b42 100644
--- a/coding/python/binary_search.py
+++ b/coding/python/binary_search.py
@@ -1,14 +1,15 @@
 #!/usr/bin/env python
 
 import random
+from typing import List
 
 
-def binary_search(arr, lb, ub, target):
+def binary_search(arr: List[int], lb: int, ub: int, target: int) -> int:
     """
     A Binary Search Example which has O(log n) time complexity.
     """
     if lb <= ub:
-        mid = ub + lb // 2
+        mid: int = ub + lb // 2
         if arr[mid] == target:
             return mid
         elif arr[mid] < target:
@@ -20,8 +21,8 @@ def binary_search(arr, lb, ub, target):
 
 
 if __name__ == '__main__':
-    rand_num_li = sorted([random.randint(1, 50) for _ in range(10)])
-    target = random.randint(1, 50)
+    rand_num_li: List[int] = sorted([random.randint(1, 50) for _ in range(10)])
+    target: int = random.randint(1, 50)
     print("List: {}\nTarget: {}\nIndex: {}".format(
         rand_num_li, target,
         binary_search(rand_num_li, 0, len(rand_num_li) - 1, target)))

Type hints have been supported in Python since version 3.5.
They help the client in using the function appropriately. 