本文實(shí)例為大家分享了python實(shí)現(xiàn)電子書翻頁的具體代碼,供大家參考,具體內(nèi)容如下
1.題目:
電子書翻頁:
(1)自動(dòng)翻頁:每次默認(rèn)讀三行,讀完之后睡兩秒,直到把所有內(nèi)容全部讀出來
(2)手動(dòng)翻頁:輸入N閱讀下一頁,輸錯(cuò)提示重新輸入,直到把所有內(nèi)容全部讀出來
2.效果:
電子書為:file/a.txt
自動(dòng)翻頁:
每隔兩秒出現(xiàn)三行
直到a.txt里面的所有內(nèi)容都顯示出來
手動(dòng)翻頁:
輸入N顯示三行,輸錯(cuò)則提示重新再輸
直到a.txt的所有內(nèi)容全部顯示出來
3.思路:
(1)先確定好電子書為:file/a.txt
(2)首先要讀電子書有兩種方法:
1)with?? open(path,mode='r') as f:
2)print(f.read())
(3)自動(dòng)翻頁:
1) 每次讀三行:通過for 循環(huán)遍歷,每次讀一行,讀三次
for i in range(line): print(f.readline(),end='')
?2) 睡兩秒:導(dǎo)入時(shí)間模塊
??????? import time
???????? time.sleep(2)
(4)手動(dòng)翻頁:
1)? 輸入N閱讀下一頁:使用input()函數(shù)實(shí)現(xiàn)
2)? 每頁顯示的情況和自動(dòng)翻頁一樣,使用for循環(huán)遍歷
(5)判斷閱讀結(jié)束
先將光標(biāo)移動(dòng)到文件末尾,把這個(gè)位置記作:end_position
每讀完一頁,記錄一下,當(dāng)前文件光標(biāo)的位置:now_position
比較這兩個(gè)位置,如果大小一樣,則閱讀結(jié)束
4.代碼:
import time def read_book(path, line=3, auto=False): with open(path, mode='r') as f: # 獲取文件的總長(zhǎng)度 f.seek(0, 2) # 先跳轉(zhuǎn)到末尾位置 end_position = f.tell() # 讀取位置 # print(end_position) f.seek(0, 0) # 將光標(biāo)移動(dòng)到文件的開頭 while True: if auto == True: '''自動(dòng)翻頁''' for i in range(line): print(f.readline(), end='') time.sleep(2) now_position = f.tell() if now_position == end_position: break else: '''手動(dòng)翻頁''' num = input('請(qǐng)輸入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('輸錯(cuò)了哦,請(qǐng)重新輸入...') read_book('file/a.txt')
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
