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 相关文章推荐
Python中使用第三方库xlutils来追加写入Excel文件示例
Apr 05 Python
Python文件处理
Feb 29 Python
浅析python中的分片与截断序列
Aug 09 Python
python中urlparse模块介绍与使用示例
Nov 19 Python
Python 实现淘宝秒杀的示例代码
Jan 02 Python
django页面跳转问题及注意事项
Jul 18 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
python 中xpath爬虫实例详解
Aug 26 Python
python中调试或排错的五种方法示例
Sep 12 Python
Spring @Enable模块驱动原理及使用实例
Jun 23 Python
Python 用__new__方法实现单例的操作
Dec 11 Python
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
May 27 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
php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
hover的用法及live的用法介绍(鼠标悬停效果)
2013/03/29 Javascript
简单实用的全选反选按钮例子
2013/10/18 Javascript
jQuery的ready方法详解
2014/11/27 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
2015/10/29 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
javascript的BOM
2016/05/03 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
vue组件父与子通信详解(一)
2017/11/07 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
vue自动路由-单页面项目(非build时构建)
2019/04/30 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
2020/06/01 Javascript
JavaScript 中判断变量是否为数字的示例代码
2020/10/22 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
2020/10/26 Javascript
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
Python守护进程用法实例分析
2015/06/04 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
2017/07/25 Python
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
Python中的单继承与多继承实例分析
2018/05/10 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
Python自定义一个异常类的方法
2019/06/27 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
C++:局部变量能否和全局变量重名
2014/03/03 面试题
高级方案规划工程师岗位职责
2013/11/29 职场文书
小学生环保演讲稿
2014/04/25 职场文书
2014年化验室工作总结
2014/11/21 职场文书
后勤工作个人总结
2015/02/28 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle