您好,登錄后才能下訂單哦!
本文實例為大家分享了python實現(xiàn)電子書翻頁的具體代碼,供大家參考,具體內(nèi)容如下
1.題目:
電子書翻頁:
(1)自動翻頁:每次默認(rèn)讀三行,讀完之后睡兩秒,直到把所有內(nèi)容全部讀出來
(2)手動翻頁:輸入N閱讀下一頁,輸錯提示重新輸入,直到把所有內(nèi)容全部讀出來
2.效果:
電子書為:file/a.txt
自動翻頁:
每隔兩秒出現(xiàn)三行
直到a.txt里面的所有內(nèi)容都顯示出來
手動翻頁:
輸入N顯示三行,輸錯則提示重新再輸
直到a.txt的所有內(nèi)容全部顯示出來
3.思路:
(1)先確定好電子書為:file/a.txt
(2)首先要讀電子書有兩種方法:
1)with open(path,mode='r') as f:
2)print(f.read())
(3)自動翻頁:
1) 每次讀三行:通過for 循環(huán)遍歷,每次讀一行,讀三次
for i in range(line): print(f.readline(),end='')
2) 睡兩秒:導(dǎo)入時間模塊
import time
time.sleep(2)
(4)手動翻頁:
1) 輸入N閱讀下一頁:使用input()函數(shù)實現(xiàn)
2) 每頁顯示的情況和自動翻頁一樣,使用for循環(huán)遍歷
(5)判斷閱讀結(jié)束
先將光標(biāo)移動到文件末尾,把這個位置記作:end_position
每讀完一頁,記錄一下,當(dāng)前文件光標(biāo)的位置:now_position
比較這兩個位置,如果大小一樣,則閱讀結(jié)束
4.代碼:
import time def read_book(path, line=3, auto=False): with open(path, mode='r') as f: # 獲取文件的總長度 f.seek(0, 2) # 先跳轉(zhuǎn)到末尾位置 end_position = f.tell() # 讀取位置 # print(end_position) f.seek(0, 0) # 將光標(biāo)移動到文件的開頭 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')
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。