返回顶部
首页 > 资讯 > 后端开发 > Python >分页函数(Python)
  • 792
分享到

分页函数(Python)

分页函数Python 2023-01-31 04:01:22 792人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

# coding=utf-8 def get_page(m, n): cur_page = n pages = [] if cur_page <= 6: # 百度分页为例 limit

# coding=utf-8
def get_page(m, n):
    cur_page = n
    pages = []

    if cur_page <= 6:    # 百度分页为例
        limit_start = 1       # 起始页
    else:
        limit_start = cur_page-5

    if m >= cur_page+4:

        if cur_page < 6:
            limit_end = m-limit_start
        else:
            limit_end = cur_page + 4

    else:
        limit_end = m
        if cur_page >= 10:
            limit_start = limit_end-9

    for i in xrange(limit_start, limit_end+1):    # 这才是分页的关键

        if cur_page == i:
            pages.append(cur_page)
        else:
            pages.append(i)

    return pages

进一步精简代码:

# coding=utf-8
PER_PRE_NUM = 6
PER_NUMBER_MAX = 10


def get_page(m, n):
    cur_page = n
    limit_start = 1 if cur_page <= PER_PRE_NUM else cur_page - (PER_PRE_NUM-1)
    if m >= cur_page+(PER_PRE_NUM-2):
        limit_end = m - limit_start if cur_page < PER_PRE_NUM else cur_page + (PER_PRE_NUM-2)
    else:
        limit_end = m
        if cur_page >= PER_NUMBER_MAX:
            limit_start = limit_end-(PER_NUMBER_MAX-1)
    return [i for i in xrange(limit_start, limit_end+1)]

测试

assert get_page(7, 5) == [1, 2, 3, 4, 5, 6, 7]
assert get_page(12, 6) == [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
assert get_page(12, 7) == [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
assert get_page(11, 3) == [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
assert get_page(11, 6) == [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
assert get_page(11, 7) == [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
assert get_page(100, 99) == [91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
print(get_page(11, 1))
print(get_page(76, 25))
print(get_page(100, 50))

# coding=utf-8

PER_PRE_NUM = 6
PER_NUMBER_MAX = 10

# 百度分页为例
def get_page(m, n):
    cur_page = n  # 当前页
    if m > PER_NUMBER_MAX:
        limit_start = 1 if cur_page <= PER_PRE_NUM else cur_page - (PER_PRE_NUM - 1)

        if m >= cur_page+(PER_PRE_NUM-2):
            if n >= PER_PRE_NUM:
                limit_end = m - limit_start if cur_page < PER_PRE_NUM else cur_page + (PER_PRE_NUM - 2)
            else:
                limit_end = PER_NUMBER_MAX
        else:
            limit_end = m
            if cur_page >= PER_NUMBER_MAX or ((limit_end - limit_start) < PER_NUMBER_MAX):
                limit_start = limit_end - (PER_NUMBER_MAX - 1)

    else:
        limit_start, limit_end = 1, m

    return [i for i in xrange(limit_start, limit_end + 1)]


print(get_page(7, 5))
assert get_page(7, 5) == [1, 2, 3, 4, 5, 6, 7]
assert get_page(12, 6) == [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
assert get_page(12, 7) == [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
assert get_page(11, 3) == [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
assert get_page(11, 6) == [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
assert get_page(11, 7) == [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
assert get_page(100, 99) == [91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
print(get_page(11, 1))
print(get_page(76, 25))
print(get_page(18, 2))
print(get_page(11, 8))
print(get_page(11, 7))



--结束END--

本文标题: 分页函数(Python)

本文链接: https://lsjlt.com/news/187927.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 分页函数(Python)
    # coding=utf-8 def get_page(m, n): cur_page = n pages = [] if cur_page <= 6: # 百度分页为例 limit...
    99+
    2023-01-31
    分页 函数 Python
  • wordpress上一页下一页无插件分页函数实例
    本文实例讲述了wordpress上一页下一页无插件分页函数。分享给大家供大家参考。具体分析如下: 这里提供两个,一个是willin提供的,一个则是今天我提供的,其实就都是简单的修改,但可应对不同需求的应用. 第一个可以定...
    99+
    2022-06-12
    wordpress 上一页 下一页 无插件 分页 函数
  • python 分页
    1、创建数据库信息        class UserList(models.Model):            username = models.CharField(max_length=32)            age = mo...
    99+
    2023-01-31
    分页 python
  • Sqlserver使用ROW_NUMBER()函数进行数据分页
    在Sqlserver数据库中,如果查询表中含有自增长Id列,一般会采用select Top的方式来数据的分页操作。而实际上很多数据表设计的时候,不一定含有自增长Id列,那么数据库没有Id自增列的时...
    99+
    2024-04-02
  • 分析Python随机函数
    本篇内容介绍了“分析Python随机函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!导入模块:import random1、ra...
    99+
    2023-06-25
  • 如何在PHP中使用分页函数
    在开发一个需要显示大量数据的网站或应用程序时,分页是一个必不可少的功能。而在PHP中,使用分页函数能够更加方便地实现这个功能。接下来,本文将介绍如何在PHP中使用分页函数。安装分页函数库首先,我们需要先安装一个分页函数库。PHP有很多分页函...
    99+
    2023-05-20
    使用 PHP 分页函数
  • Python函数参数实例分析
    本文小编为大家详细介绍“Python函数参数实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python函数参数实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.函数参数# 1.位置参数...
    99+
    2023-06-28
  • Python函数参数案例分析
    本篇内容主要讲解“Python函数参数案例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python函数参数案例分析”吧!1. 参数分类函数,在定义的时候,可以有参数的,也可以没有参数。从函...
    99+
    2023-07-05
  • PHP中如何使用分页导航函数
    PHP中如何使用分页导航函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。PHP分页导航函数的代码示例:function yl_list_page($pageurl,...
    99+
    2023-06-17
  • PHP中怎么实现一个分页函数
    PHP中怎么实现一个分页函数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。写列表性质的页面,几乎都要写上一段分页的程序。最近小阳终于决心一劳永逸&mdash;&am...
    99+
    2023-06-17
  • python中分组函数groupby和分组运算函数agg的使用
    目录groupby:agg:今天来介绍pandas中一个很有用的函数groupby,其实和hive中的groupby的效果是一样的,区别在于两种语言的写法问题。groupby在Pyt...
    99+
    2024-04-02
  • python中abs函数用法分析
    python中abs函数的用法:abs函数能够用来返回数字的绝对值,语法格式为“abs( x )”,这里x指的是一个数值的表达式。具体实例分析:#!/usr/bin/pythonprint "abs(-45) : ", abs(-45)pr...
    99+
    2024-04-02
  • Python数据分析之pandas函数详解
    目录一、apply和applymap二、排序三、处理缺失数据一、apply和applymap 1. 可直接使用NumPy的函数 示例代码: # Numpy ufunc 函数 df...
    99+
    2024-04-02
  • Python函数参数案例代码分析
    这篇文章主要介绍“Python函数参数案例代码分析”,在日常操作中,相信很多人在Python函数参数案例代码分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python函数参数案例代码分析”的疑惑有所帮助!...
    99+
    2023-07-05
  • Python 函数参数11个案例分享
    目录1. 参数分类2. 十一个案例3. 传参的坑大家好,今天给大家分享一下明哥整理的一篇 Python 参数的内容,内容非常的干,全文通过案例的形式来理解知识点,自认为比网上 80%...
    99+
    2023-02-27
    Python 函数参数 Python 函数参数案例
  • Python构造函数与析构函数超详细分析
    目录1.构造函数2.析构函数1.构造函数 __init__(self), 这个方法就是构造函数,在实例化的时候自动调用。 所有如果这个函数内有打印的方法,当实例出来的时候会打印里面的...
    99+
    2022-11-13
    Python构造函数与析构函数 Python析构函数 Python构造函数
  • 怎么使用python中分组函数groupby和分组运算函数agg
    这篇文章主要介绍“怎么使用python中分组函数groupby和分组运算函数agg”,在日常操作中,相信很多人在怎么使用python中分组函数groupby和分组运算函数agg问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-06-25
  • 怎么用相关函数实现PHP处理分页
    这篇文章主要讲解了“怎么用相关函数实现PHP处理分页”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用相关函数实现PHP处理分页”吧!通过对PHP语言的深入学习可以知道,其是一个功能非常强...
    99+
    2023-06-17
  • python函数常见关键字分享
    目录1.global关键字2.nolocal关键字3.yield from1.global关键字 默认情况下,在局部作用域对全局变量只能进行:读取,修改内部元素(可变类型),无法对全...
    99+
    2024-04-02
  • python中all函数的用法分析
    python中all函数的用法:all函数主要是用来判断指定的可迭代参数iterable中的所有元素是否都为TRUE,如果是返回True,否则返回False,除了是0、空、None、False外都算True;all函数语法格式为:“all(...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作