随意写一个20行以上的文件 运行程序,先将内容读到内存中,用列表存储。 接收用户输入页码,每页5条,仅输入当页的内容
题目:随意写一个20行以上的文件
运行程序,先将内容读到内存中,用列表存储。
接收用户输入页码,每页5条,仅输入当页的内容
with open('file',encoding='utf-8')
l = f.readlines()
page_num = int(input('请输入页码: '))
pages,mod = divmod(len(l),5) #求有多少页,有没有剩余的行数,比如21行数据除以5 等于4余1
#pages = 4, mod = 1
if mod: #如果有剩余的行数,那么页数加一
pages += 1 #一共有多少页
if page_num > pages or page_num <=0: #用户输入的页数大于总数或者小于等于0
print('输入有误')
elif page_num == pages and mod !=0: #如果用户输入的页码是最后一页,且之前有过剩余行数
for i in range(mod):
print(l[(page_num-1)*5+i].strip()) #只输出这一页上剩余的行
else:
for i in range(5):
print(l[(page_num-1)*5+i].strip()) #否则就输出5行
思路:
1页 1-5
2页 6-10
3页 11-15
4页 16-20
5页 21-22
20/5
如果21条怎么办
一共有多少行数据len(l),除以每页显示5条:len(l) /5,使用divmod商余函数

浙公网安备 33010602011771号