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 相关文章推荐
videocapture库制作python视频高速传输程序
Dec 23 Python
Python解析xml中dom元素的方法
Mar 12 Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 Python
Python常见字典内建函数用法示例
May 14 Python
完美解决Python 2.7不能正常使用pip install的问题
Jun 12 Python
Django如何开发简单的查询接口详解
May 17 Python
Django--权限Permissions的例子
Aug 28 Python
python图形开发GUI库pyqt5的基本使用方法详解
Feb 14 Python
PyCharm永久激活方式(推荐)
Sep 22 Python
PyCharm最新激活码(2020/10/27全网最新)
Oct 27 Python
Jmeter调用Python脚本实现参数互相传递的实现
Jan 22 Python
理解python中装饰器的作用
Jul 21 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
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
PHP使用Pthread实现的多线程操作实例
2015/11/14 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
2013/06/24 Javascript
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
jQuery版AJAX简易封装代码
2016/09/14 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
微信小程序模拟cookie的实现
2018/06/20 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
React+TypeScript+webpack4多入口配置详解
2019/08/08 Javascript
详细分析React 表单与事件
2020/07/08 Javascript
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
2015/05/02 Python
深入浅析python定时杀进程
2016/06/06 Python
Python实现向服务器请求压缩数据及解压缩数据的方法示例
2017/06/09 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
2019/07/08 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
使用html5+css3来实现slider切换效果告别javascript+css
2013/01/08 HTML / CSS
Snapfish英国:在线照片打印和个性化照片礼品
2017/01/13 全球购物
全球领先美式家具品牌:Ashley爱室丽家居
2017/08/07 全球购物
巴西最大的运动品牌:Olympikus
2020/07/14 全球购物
如何理解transaction事务的概念
2015/05/27 面试题
百日安全活动总结
2014/05/04 职场文书
2014年国庆节庆祝建国65周年比赛演讲稿
2014/09/21 职场文书
校园游戏活动新闻稿
2014/10/15 职场文书
暑假安全保证书
2015/02/28 职场文书
机器人总动员观后感
2015/06/09 职场文书
先进个人事迹材料(2016推荐版)
2016/03/01 职场文书
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python