Python小程序--电子书翻页

目录

1.题目:

2.效果:

3.思路:

4.代码:


1.题目:

电子书翻页:

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

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


2.效果:

  • 电子书为:file/a.txt

  • 自动翻页:

              每隔两秒出现三行

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

  • 手动翻页:

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

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


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')

猜你喜欢

转载自blog.csdn.net/g_optimistic/article/details/86224898