""" 1. 编写一个分页【显示类】,初始化传入【记录总数】。 希望可以通过【设置每页记录数】和【页码】,可以显示当前页的信息。 其中每页记录数与页码使用property实现 set/get。 注意,如果页码设置不正确(如<1或者>最大页码),提示错误信息。设计方法能够返回当前页显示的记录区间。 Page(20) pagesize=5 一共应该有4页 currenPage=3 show可以显示第3页的信息 这是第11-15条记录。。。。 """ class Page: def __init__(self,total): #total总记录数 self.total=total #total总记录数 self.__pagesize=None #每页显示记录数 self.__currentpage=None #当前页码 self.maxpage=None #最大页码 def getCurrentpage(self): return self.__currentpage def setCurrentpage(self,currentpage): if self.__pagesize: maxpage=self.total%self.__pagesize if maxpage==0: maxpage=self.total//self.__pagesize else: maxpage=self.total//self.__pagesize+1 self.maxpage=maxpage if currentpage<1 or currentpage>maxpage: print("没有%s"%self.currentpage) if currentpage<1: self.__currentpage=1 else: self.__currentpage=maxpage else: self.__currentpage = currentpage else: print("请先设置每页记录数") def getPagesize(self): return self.__pagesize def setPagesize(self,pagesize): if pagesize>0: self.__pagesize=pagesize else: print("输入有误") def showCurrentpage(self): if self.getCurrentpage() and self.getPagesize(): print(f"当前是第{self.getCurrentpage()}页。") print("当前是第%s页。"%self.getCurrentpage()) start=(self.getCurrentpage()-1)*self.getPagesize()+1 # 2*5+1=11 开始条数=(当前页-1) * 每页显示的记录数 + 1 end=self.getCurrentpage()*self.getPagesize() #3*5=15 结束条数 = 当前页 * 每页显示的记录数 if self.getCurrentpage()==self.maxpage: end=self.total for i in range(start,end+1): print(f"这是第{i}条记录") pagesize=property(getPagesize,setPagesize) currentpage=property(getCurrentpage,setCurrentpage) p=Page(20) p.pagesize=5 p.currentpage=3 p.showCurrentpage() # 显示当前页的数据
python 实现分类页
最新推荐文章于 2024-06-30 18:41:59 发布