python实现电子书翻页小程序
本文实例为大家分享了python实现电子书翻页的具体代码,供大家参考,具体内容如下
1.题目:
电子书翻页:
(1)自动翻页:每次默认读三行,读完之后睡两秒,直到把所有内容全部读出来
(2)手动翻页:输入N阅读下一页,输错提示重新输入,直到把所有内容全部读出来
2.效果:
电子书为:file/a.txt
自动翻页:
每隔两秒出现三行
直到a.txt里面的所有内容都显示出来
手动翻页:
输入N显示三行,输错则提示重新再输
直到a.txt的所有内容全部显示出来
3.思路:
(1)先确定好电子书为:file/a.txt
(2)首先要读电子书有两种方法:
1)with open(path,mode='r') as f:
2)print(f.read())
(3)自动翻页:
1) 每次读三行:通过for 循环遍历,每次读一行,读三次
for i in range(line):
print(f.readline(),end='')
2) 睡两秒:导入时间模块
import time
time.sleep(2)
(4)手动翻页:
1) 输入N阅读下一页:使用input()函数实现
2) 每页显示的情况和自动翻页一样,使用for循环遍历
(5)判断阅读结束
先将光标移动到文件末尾,把这个位置记作:end_position
每读完一页,记录一下,当前文件光标的位置:now_position
比较这两个位置,如果大小一样,则阅读结束
4.代码:
import time
def read_book(path, line=3, auto=False):
with open(path, mode='r') as f:
# 获取文件的总长度
f.seek(0, 2) # 先跳转到末尾位置
end_position = f.tell() # 读取位置
# print(end_position)
f.seek(0, 0) # 将光标移动到文件的开头
while True:
if auto == True:
'''自动翻页'''
for i in range(line):
print(f.readline(), end='')
time.sleep(2)
now_position = f.tell()
if now_position == end_position:
break
else:
'''手动翻页'''
num = input('请输入N阅读下一页:')
if num == 'N':
for i in range(line):
print(f.readline(), end='')
now_position = f.tell()
if now_position == end_position:
print()
print('亲,好勤奋啊,读完了')
break
else:
print('输错了哦,请重新输入...')
read_book('file/a.txt')
以上是 python实现电子书翻页小程序 的全部内容, 来源链接: utcz.com/z/361831.html