Advertisement
homer512

bisect

Feb 3rd, 2016
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.96 KB | None | 0 0
  1. #!/usr/bin/python2
  2.  
  3. import bisect
  4.  
  5.  
  6. def main():
  7.     lower_bounds = (17100, 18000, 18900, 19800, 20700, 21600, 22500, 23400,
  8.                     24300, 25200, 26100, 27000, 27900, 28800, 29700, 30600,
  9.                     31500, 32400, 33300, 34200)
  10.     assert tuple(sorted(lower_bounds)) == lower_bounds
  11.     values = range(1, 21)
  12.     assert len(values) == len(lower_bounds)
  13.     average_available = 26101
  14.     index = bisect.bisect(lower_bounds, average_available)
  15.     if index:
  16.         less_equal = lower_bounds[index - 1]
  17.         kpi_average_available = values[index - 1]
  18.     else: # below range
  19.         less_equal = None
  20.         kpi_average_available = 0
  21.     try:
  22.         greater = lower_bounds[index]
  23.     except IndexError:
  24.         greater = None
  25.     print "%d > %d >= %d: kpi_average_available = %d" % \
  26.         (greater,
  27.          average_available,
  28.          less_equal,
  29.          kpi_average_available,
  30.         )
  31.  
  32.  
  33. if __name__ == '__main__':
  34.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement