python - 找到项目索引的正确页面

标签 python python-3.x python-2.7

我无法为我的问题找到合适的标题,抱歉。

在我所做的工作中,用户会得到一个带有选项列表的分页菜单,但是这个分页菜单每页只能显示 7 个选项/项目,用户必须在页面之间滚动才能看到所有项目. 稍后,用户可能会被发送回所选选项的确切页面,我的难题是找到最佳算法来找到项目索引的正确页码。

假设选项索引为 4,则页面为 #1,或者索引为 23 而页面为 #3,依此类推...

我写了这个算法:

def _getIndexPage(index):
    items = 7
    page = 1
    while items <= index:
        items += 7
        page += 1
    return page

因此,当索引号大于或等于项目数时,我继续向“项目”添加 7,向“页面”添加 1,如果不是,则返回“页面”的最终结果。

这个工作做得很好,但我从来没有真正觉得这是执行此操作的正确方法,所以我正在寻找一种可能是简化的方法来执行此操作,是否有更好的选择?

提前致谢!

最佳答案

一种更短、更高效的算法编写方式,并使每页的项目数量灵活:

import math
def _getIndexPage(index, items_per_page=7):
    return int(math.ceil(index / items_per_page))

关于python - 找到项目索引的正确页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52471219/

相关文章:

python - 重建一扇 window

Python 初学者 : outputting function-generated text to file

python - 如何使用python删除excel中的所有零值

python - 如何找到具有给定值的像素位置

python - 进行输入验证的大多数 Pythonic 方式

python - 编码外观不正确

python - 根据键值删除日期在所需日期点之前的行

python - 如何在Python中将列表拆分为特定长度的子列表并将剩余部分拆分为单独的子列表?

python-3.x - 如何在 Visual Studio Code 中使用 activate.bat 而不是 ps1 运行选定文本?

python - 在不产生 python 开销的情况下在 Cython 中定义 NumPy 数组