I have an answer to find the 2 closest numbers to the input value, see below: -
from collections import OrderedDict
def find_closer():
a = [9, 19, 87, 43, 10]
b = int(input("Enter number :"))
diff_dict = OrderedDict()
if b in a:
b = input("Number already exists, please enter another number ")
else:
for x in a:
diff = x - b
if diff < 0:
diff_dict[x] = diff*(-1)
else:
diff_dict[x] = diff
print("diff_dict", diff_dict)
sort_dict_keys = sorted(diff_dict.keys())
print(sort_dict_keys)
closer_less = 0
closer_more = 0
for closer in sort_dict_keys:
if closer < b:
closer_less = closer
else:
closer_more = closer
break
print("closer less =", closer_less, "and closer more =", closer_more)
find_closer()
it is a pure python program. Hope this helps!
source
share