python 居中显示分页算法

2019-07-05 发表在 编程语言 313
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))

显示效果:

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

作者:贝塔博客
本站使用「署名 4.0 国际」创作共享协议,转载请在文章明显位置注明作者及出处。
评论
登录以后才可以发布评论哦, 点击登录 发布评论
评论列表 0人参与,0条评论
暂时还没有人评论,快来一条神回复吧!