使用Python中的Page()函数实现用户输入数据的多页展示
发布时间:2023-12-31 23:56:53
Page()是Python中的一个分页函数,可以用来实现用户输入的数据的多页展示。
使用Page()函数前,首先要将用户输入的数据按照一页显示多少条的要求进行分页处理。假设用户输入的数据存储在一个列表中,每一页显示10条数据,那么可以使用如下代码进行分页处理:
def paginate(data, page_size):
pages = []
page_num = len(data) // page_size
if len(data) % page_size != 0:
page_num += 1
for i in range(page_num):
start = i * page_size
end = start + page_size
page_data = data[start:end]
pages.append(page_data)
return pages
data = [i for i in range(1, 101)] # 假设数据是1-100的整数
pages = paginate(data, 10) # 每一页显示10条数据
print(pages)
上述代码中,paginate()函数将用户输入的数据列表和每一页显示的数据数量作为参数,返回一个分页后的列表。
接下来就可以使用Page()函数来进行多页展示。Page()函数的详细用法如下:
class Page(object):
def __init__(self, data, index=1, page_size=10):
self.data = data # 分页数据列表
self.index = index # 当前页码,默认为1
self.page_size = page_size # 每页显示的数据数量,默认为10
def show(self):
if self.index > len(self.data) // self.page_size + 1:
print("页码超出范围!")
return
start = (self.index - 1) * self.page_size
end = start + self.page_size
page_data = self.data[start:end]
print("第%s页:" % self.index)
for item in page_data:
print(item)
Page()函数的参数有三个,分别是数据列表data、当前页码index(默认为1)、每页显示的数据数量page_size(默认为10)。
Page()函数还有一个show()方法,用于展示当前页的数据。
将上述代码保存为一个.py文件,比如pagination.py,然后可以使用如下代码进行测试:
from pagination import Page
data = [i for i in range(1, 101)] # 假设数据是1-100的整数
pages = paginate(data, 10) # 每一页显示10条数据
page_num = len(pages)
for index in range(1, page_num + 1):
page = Page(pages, index)
page.show()
print("是否继续查看下一页?(y/n)")
choice = input()
if choice.lower() == 'n':
break
上述代码中,首先导入Page类,然后获取分页数据列表pages。接着使用循环遍历页码,创建Page对象并调用show()方法展示当前页的数据。最后询问用户是否要继续查看下一页,如果回答"n",则退出循环,结束程序。
运行上述代码,用户可以依次查看每一页的数据,并选择是否继续查看下一页。如果输入的页码超出范围,会显示提示信息"页码超出范围!"。
这样就实现了使用Page()函数进行用户输入数据的多页展示了。
