Как найти в каком диапазоне находится число?
Бинарный поиск из стандартной библиотеки.import bisect
print(bisect.bisect_left(l, a))
Мой вариант. Список встроен в функцию, на вход получаем строго "а". Всё, что будет больше ПРЕДпоследнего элемента - запишется в последнюю группу, даже если больше последнего элемента.def group_place(a):
    l = [100, 200, 300, 400, 500]
    for i in range(0, len(l)):
        if a <= l[i]: break
    return i