Files
company-haness/benchmark/fixtures/GT-01/paginate.py
T

14 lines
557 B
Python

"""Pagination helper — contains an off-by-one bug that drops the last item of a page.
The bug: `end = start + size - 1` and slicing `items[start:end]` excludes the last
element of each page. A correct implementation returns exactly `size` items per page
(and the remainder on the final page).
"""
def paginate(items, page, size):
"""Return the `page`-th (1-indexed) slice of `items` with `size` per page."""
start = (page - 1) * size
end = start + size - 1 # BUG: off-by-one — drops the last item of the page
return items[start:end]