专栏首页贝塔博客python 居中显示分页算法

python 居中显示分页算法

import math

# page_num=总页数
# show_num=显示的页码数
# current_page=当前页

def get_page_range(page_num, show_num, current_page):
    # 分偶数和奇数
    current_page = int(current_page)
    page_num = int(page_num)
    show_num = int(show_num)

    if show_num % 2 == 0:
        fore = int((show_num - 1) / 2)
        after = int(show_num / 2)
    else:
        fore = int(show_num / 2)
        after = math.ceil((show_num - 1) / 2)

    star = current_page - fore
    end = current_page + after
    if star < 1:
        if star == 0:
            star = 1
        end += int(math.fabs(star))
        star = 1

    if end > page_num:
        star -= end - page_num
        end = page_num

    if star < 1:
        star = 1
    if end > page_num:
        end = page_num
    return star, end


print(get_page_range(1000, 5, 3))

显示效果:

页码永远是保持在中间位置的。而且显示的页码可以调整数量,适合页数非常多的时候使用。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python 分页居中算法

    根据上述代码传入对应的参数,然后就会返回页码的开始和结束。 在页面根据start和end 循环输出就可以了。

    小贝壳
  • 有刷电机、无刷电机、伺服电机、步进电机、减速电机的区别

    有刷电机是内含电刷装置的将电能转换成机械能(电动机)或将机械能转换成电能(发电机)的旋转电机。有刷电机是所有电机的基础,它具有启动快、制动及时、可在大范围内平滑...

    小贝壳
  • macOS安装Telnet

    小贝壳
  • python 分页居中算法

    根据上述代码传入对应的参数,然后就会返回页码的开始和结束。 在页面根据start和end 循环输出就可以了。

    小贝壳
  • 网页实现把文本复制到粘贴板

    卡少
  • Django3.0新鲜出炉!全面解读新特性,ASGI真香实锤,不来了解一下?

    写这篇文章完全是机缘巧合,想想已经好长时间没有关注过Django了,虽然Django一直霸占着Python Web开发界的王座,但是由于各种原因自从使用Asyn...

    云爬虫技术研究笔记
  • 一套基础自动化部署搭建过程

    公司初创技术团队,没有任何基础设施的情况下,需要搭建一系列code管理以及自动化部署等工具….所以引发了下面一系列的部署过程,历时两天,中间也是碰到各种问题,但...

    黄泽杰
  • SparkStreaming如何优雅的停止服务

    我是攻城师
  • 一套初创公司的基础自动化部署搭建流程

    公司初创技术团队,没有任何基础设施的情况下,需要搭建一系列code管理以及自动化部署等工具….所以引发了下面一系列的部署过程,历时两天,中间也是碰到各种问题,但...

    DevOps时代
  • 新算法可干扰脸部识别系统

    加拿大多伦多大学(University of Toronto)的研究人员宣布开发出了人工智能驱动的程序,可干扰脸部识别系统。

    人工智能快报

扫码关注云+社区

领取腾讯云代金券