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中asyncore异步模块的用法及实现httpclient的实例
Jun 28 Python
python 禁止函数修改列表的实现方法
Aug 03 Python
mac系统安装Python3初体验
Jan 02 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
Apr 23 Python
在Python中使用gRPC的方法示例
Aug 08 Python
pygame游戏之旅 添加icon和bgm音效的方法
Nov 21 Python
Python unittest 简单实现参数化的方法
Nov 30 Python
python的一些加密方法及python 加密模块
Jul 11 Python
Pytorch: 自定义网络层实例
Jan 07 Python
Pycharm 设置默认解释器路径和编码格式的操作
Feb 05 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 28 Python
Python中Schedule模块使用详解 周期任务神器
Apr 19 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
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
php数字转汉字代码(算法)
2011/10/08 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
原型方法的不同写法居然会影响调试的解决方法
2007/03/08 Javascript
Jquery中dialog属性小记
2010/09/03 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
easyui Droppable组件实现放置特效
2015/08/19 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
Bootstrap 手风琴菜单的实现代码
2017/01/20 Javascript
原生JS实现不断变化的标签
2017/05/22 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
vue指令v-html使用过滤器filters功能实例
2019/10/25 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
Python基类函数的重载与调用实例分析
2015/01/12 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
selenium+python实现自动登录脚本
2018/04/22 Python
python 查找文件名包含指定字符串的方法
2018/06/05 Python
Random 在 Python 中的使用方法
2018/08/09 Python
连接pandas以及数组转pandas的方法
2019/06/28 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
python爬虫实现POST request payload形式的请求
2020/04/30 Python
mac安装python3后使用pip和pip3的区别说明
2020/09/01 Python
大学生毕业自我鉴定范文
2013/11/03 职场文书
厨房管理计划书
2014/04/27 职场文书
新文化运动的基本口号
2014/06/21 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
2016年“5.12”护士节慰问信
2015/11/30 职场文书
left join、inner join、right join的区别
2021/04/05 MySQL