zoukankan      html  css  js  c++  java
  • day15 Python 分页算法

    """ --> 页码分页算法
    每页10个内容 page_num = 10
    第1页 第2页 第3页
    [0-10] [10-20] [20-30]
    
    每页5个 page_num = 5
    第1页 第2页 第3页
    [0-5] [5-10] [10-15]
    
    每页n个, page_num = n
    第x页
    [(n-1)*n : x*n]
    """
    
    
    class Page(object):
    
    def __init__(self, lst, page_num):
    self.lst = lst
    self.page_num = page_num # page_num 是每个显示的元素个数
    
    @property
    def total_page_num(self):
    """
    计算最大的页码
    :return: 最大页码
    """
    if len(self.lst) % self.page_num == 0:
    return len(self.lst) // self.page_num
    else:
    return len(self.lst) // self.page_num + 1
    
    def start(self):
    """
    :return: 返回起始页
    """
    return self.lst[0:self.page_num]
    
    def index(self, index):
    """
    :param index: 传递的页码
    :return: 返回对应页码的内容
    """
    if isinstance(index, int) and index > 0:
    return self.lst[(index - 1) * self.page_num: index * self.page_num]
    else:
    return []
    
    def end(self):
    """
    :return: 返回尾页
    """
    return self.lst[(self.total_page_num - 1) * self.page_num: self.total_page_num * self.page_num]
    
    
    lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
    
    page = Page(lst, 5)
    print("start -->", page.start())
    print("index -->", page.index(4))
    print("end -->", page.end())
    
     
    

      

  • 相关阅读:
    php-fpm 启动参数及重要配置详解
    Linux系统优化实现高并发
    Linux下php-fpm进程过多导致内存耗尽问题
    .htaccess详解及.htaccess参数说明
    添加PHP扩展模块
    nginx 服务器重启命令,关闭
    linux的文件打包与压缩
    vue 存取、设置、清除cookie
    div轮流滚动显示
    滚动监听
  • 原文地址:https://www.cnblogs.com/fanghongbo/p/9931470.html
Copyright © 2011-2022 走看看