Я рефакторинг функции, которая, учитывая ряд конечных точек, которые неявно определяют интервалы, проверяет, включен ли число в этот интервал, а затем возвращает соответствующий (не связанный каким-либо вычислимым образом). Код, который теперь обрабатывает работу:
if p <= 100:
return 0
elif p > 100 and p <= 300:
return 1
elif p > 300 and p <= 500:
return 2
elif p > 500 and p <= 800:
return 3
elif p > 800 and p <= 1000:
return 4
elif p > 1000:
return 5
Это ИМО довольно ужасно, и не хватает того, что оба интервала и возвращаемые значения жестко запрограммированы. Конечно, любое использование любой структуры данных возможно.