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中mechanize库的简单使用示例
Jan 10 Python
Pycharm学习教程(7)虚拟机VM的配置教程
May 04 Python
Python找出最小的K个数实例代码
Jan 04 Python
火车票抢票python代码公开揭秘!
Mar 08 Python
python 实现selenium断言和验证的方法
Feb 13 Python
django搭建项目配置环境和创建表过程详解
Jul 22 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
Aug 19 Python
python 比较字典value的最大值的几种方法
Apr 17 Python
Python代码执行时间测量模块timeit用法解析
Jul 01 Python
python 调整图片亮度的示例
Dec 03 Python
Python实现GIF动图以及视频卡通化详解
Dec 06 Python
Python与C++中梯度方向直方图的实现
Mar 17 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 cookis创建实现代码
2009/03/16 PHP
PHP学习笔记之一
2011/01/17 PHP
基于php iconv函数的使用详解
2013/06/09 PHP
php 邮件发送问题解决
2014/03/22 PHP
php版微信js-sdk支付接口类用法示例
2016/10/12 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
JavaScript Date对象使用总结
2009/05/14 Javascript
jquery ajax 调用失败的原因示例介绍
2013/09/27 Javascript
jQuery过滤选择器详解
2015/01/13 Javascript
JavaScript中连接操作Oracle数据库实例
2015/04/02 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
2016/04/08 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
分享一个原生的JavaScript拖动方法
2016/09/25 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
vue.js学习笔记之绑定style样式和class列表
2016/10/31 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
Vue.js实现tab切换效果
2019/07/24 Javascript
vue项目中定义全局变量、函数的几种方法
2019/11/08 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
[01:19:34]2014 DOTA2国际邀请赛中国区预选赛 New Element VS Dream time
2014/05/22 DOTA
[00:35]可解锁地面特效
2018/12/20 DOTA
用生成器来改写直接返回列表的函数方法
2017/05/25 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
对python字典过滤条件的实例详解
2019/01/22 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
Django 用户认证Auth组件的使用
2020/11/30 Python
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
剪枝的学问教学反思
2014/02/07 职场文书
人事专员的职责
2014/02/26 职场文书
大专生求职信
2014/06/29 职场文书
2015年度校学生会工作总结报告
2015/05/23 职场文书
党小组评议意见
2015/06/02 职场文书
MongoDB orm框架的注意事项及简单使用
2021/06/20 MongoDB