Python习题(分页显示)

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]

posted on 2018-11-08 21:46  手把花锄出乡帘  阅读(92)  评论(0编辑  收藏  举报

导航