class Pagination:
    def __init__(self, total_items, items_per_page):
        self.total_items = total_items
        self.items_per_page = items_per_page

    def get_total_pages(self):
        return (self.total_items // self.items_per_page) + (1 if self.total_items % self.items_per_page != 0 else 0)

    def get_items_for_page(self, page_number):
        start_index = (page_number - 1) * self.items_per_page
        end_index = start_index + self.items_per_page
        return list(range(start_index, min(end_index, self.total_items)))

使用示例:

pagination = Pagination(total_items=100, items_per_page=10)
print(pagination.get_total_pages())  # 输出 10

items = pagination.get_items_for_page(3)
print(items)  # 输出 [20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
编写一个分页类

原文地址: https://www.cveoy.top/t/topic/rE9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录