我无法为我的问题找到合适的标题,抱歉。
在我所做的工作中,用户会得到一个带有选项列表的分页菜单,但是这个分页菜单每页只能显示 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/