python实现电子书翻页小程序


Posted in Python onJuly 23, 2019

本文实例为大家分享了python实现电子书翻页的具体代码,供大家参考,具体内容如下

1.题目:

电子书翻页:

(1)自动翻页:每次默认读三行,读完之后睡两秒,直到把所有内容全部读出来

(2)手动翻页:输入N阅读下一页,输错提示重新输入,直到把所有内容全部读出来

2.效果:

电子书为:file/a.txt

python实现电子书翻页小程序

自动翻页:

每隔两秒出现三行

直到a.txt里面的所有内容都显示出来

python实现电子书翻页小程序

手动翻页:

输入N显示三行,输错则提示重新再输

直到a.txt的所有内容全部显示出来

python实现电子书翻页小程序

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 相关文章推荐
Python3.x版本中新的字符串格式化方法
Apr 24 Python
Python中列表的一些基本操作知识汇总
May 20 Python
在Mac OS系统上安装Python的Pillow库的教程
Nov 20 Python
Python中的数学运算操作符使用进阶
Jun 20 Python
详解django中url路由配置及渲染方式
Feb 25 Python
python画图把时间作为横坐标的方法
Jul 07 Python
python科学计算之narray对象用法
Nov 25 Python
python3.8.1+selenium实现登录滑块验证功能
May 22 Python
Python优秀开源项目Rich源码解析的流程分析
Jul 06 Python
基于Python实现简单学生管理系统
Jul 24 Python
Python自动化测试基础必备知识点总结
Feb 07 Python
Python3中PyQt5简单实现文件打开及保存
Jun 10 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
Jul 22 #Python
python使用原始套接字发送二层包(链路层帧)的方法
Jul 22 #Python
微信公众号token验证失败解决方案
Jul 22 #Python
django 消息框架 message使用详解
Jul 22 #Python
django 邮件发送模块smtp使用详解
Jul 22 #Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 #Python
Pandas透视表(pivot_table)详解
Jul 22 #Python
You might like
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
无线电广播与收音机发展的历史回眸
2021/03/02 无线电
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
简明json介绍
2008/09/28 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
使用jquery插件qrcode生成二维码
2015/10/22 Javascript
JS onkeypress兼容性写法详解
2016/04/27 Javascript
Node.js 文件夹目录结构创建实例代码
2016/07/08 Javascript
JavaScript中的splice方法用法详解
2016/07/20 Javascript
javascript深拷贝(deepClone)详解
2016/08/24 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
JS script脚本中async和defer区别详解
2020/06/24 Javascript
Python计算字符宽度的方法
2016/06/14 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
Python常见MongoDB数据库操作实例总结
2018/07/24 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
2020/05/18 Python
Python dict的常用方法示例代码
2020/06/23 Python
详解python 支持向量机(SVM)算法
2020/09/18 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
KTV的创业计划书范文
2014/02/02 职场文书
幼儿园五一活动方案
2014/02/07 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
2015关于重阳节的演讲稿
2015/03/20 职场文书