class Page:
def __init__(self, lst, pageSize):
self.lst = lst # 数据
self.pageSize = pageSize # 每页显示多少条数据
# 第一页
def start(self):
return self.lst[0: self.pageSize]
def index(self):
n = int(input("请输入你要显示的页码:"))
return self.lst[(n-1) * self.pageSize:self.pageSize * n] # 从数据源中获取到当前你要显示的数据
@property
def total_page(self): # 一共11条数据. 每页显示 3条数据 10/3+1
if len(self.lst) % self.pageSize == 0:
return len(self.lst) // self.pageSize
else:
return len(self.lst) // self.pageSize + 1
def end(self): # 最后一页
return self.lst[ (self.total_page-1) * self.pageSize:self.pageSize * self.total_page ]
lst = ["周润发", "李荣浩", "林俊杰", "郑智化", "苏醒", "李诞", "池子", "王建国", "张绍刚", "张全蛋", '张无忌', "张翠山", "张三丰"]
# 每页显示3条数据 (n-1)* pageSize
# n 1 2 3 4
# [0:3] [3:6] [6:9] [9:12]
# 每页显示4条数据 (n-1)* pageSize
# n 1 2 3
# [0:4] [4:8] [8:12]
page = Page(lst,3)
print(page.start())
print(page.index())
print(page.end())
# 每页显示3条数据 len(list) % pageSize != 0 len(list) / pageSize + 1
# 1 2 3
# [0:3] [3:6] [6:9]
#
# 每页显示4条数据
# 1 2-1 * pageSize 3-1 * pageSize
# [0:4] [4:8] [8:12]
#
# [页-1 * pageSize : 页*pageSize]