今天看到一个获取文章列表末页的写法:
page = (post.comments.count() - 1) /PER_PAGE + 1
乍一看没看明白,仔细看了一下.
基于Python2.7,所以/是向下取整.
page:末页的页数
count():总共的文章数
PER_PAGE:每页的页数
PER_PAGE取常数5,化为y=(x-1)/5+1的形式.
问题本质是:
x | y |
---|---|
0 | 0 |
1-5 | 1 |
6-10 | 2 |
然而仅仅用x/5的话:
x | y |
---|---|
0-4 | 0 |
5-9 | 1 |
10-14 | 2 |
可以看出这是要整体向前推5位再向后退一位
于是有y=(x+5-1)/5=(x-1)/5+1