Python編程快速上手——瘋狂填詞程序?qū)崿F(xiàn)方法分析
本文實例講述了Python瘋狂填詞程序?qū)崿F(xiàn)方法。分享給大家供大家參考,具體如下:
題目如下: 創(chuàng)建一個瘋狂填詞程序,它將讀入文件,并讓用戶在該文本文件中出現(xiàn)ADJECTIVE,NOUN,ADVERB,VERB等單詞的地方,加上它們自己的文本。 例如源文本如下: The ADJECTIVE panda walked to the NOUN and then VERB. A nearby NOUN was unaffected by these events. 程序?qū)⒄业竭@些出現(xiàn)的單詞,提示用戶取代他們Enter an adjective:sillyEnter a noun:chandelierEnter a verb:screamedEnter a noun:pickup truck
思路如下: 程序需要做以下事情: 讀入文本文件 在相應(yīng)單詞的地方讓用戶輸入替換 保存修改后的文本文件,并將結(jié)果打印到屏幕 代碼需要做以下事情: 導(dǎo)入模塊re 編寫函數(shù),創(chuàng)建正則表達(dá)式對象 函數(shù)內(nèi)調(diào)用Regex.findall()方法,返回匹配到的所有結(jié)果列表 打開文本文件,導(dǎo)入到變量 for循環(huán)控制輸入 字符串replace方法進(jìn)行替換 print()顯示更改后的文本到屏幕 open.write()保存到新文件代碼如下:import redef madLibs(longStr): madLibsRex = re.compile(r’ADJECTIVE|NOUN|ADVERB|VERB’) #正則表達(dá)式對象 print(madLibsRex.findall(longStr)) #驗證是否模式匹配正確 return madLibsRex.findall(longStr)openFile = open(’123.txt’,’r’)longStr = openFile.read() #將文本內(nèi)容讀入變量longStrprint('源文本如下:',longStr)for i in madLibs(longStr): #循環(huán)遍歷函數(shù)返回的匹配對象列表 print('Enter an {0}:'.format(i)) longStr = longStr.replace(i,input()) #調(diào)用字符串的replace()方法輸入替換,再賦值給longStrprint(longStr)resultFile = open(’new123.txt’,’w’) #在當(dāng)前工作目錄創(chuàng)建一個新的文件resultFile.write(longStr) #將字符串變量寫入resultFile對象openFile.close()resultFile.close()結(jié)果如下:
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章:
1. SSM框架JSP使用Layui實現(xiàn)layer彈出層效果2. IntelliJ IDEA導(dǎo)入jar包的方法3. 刪除docker里建立容器的操作方法4. IntelliJ IDEA導(dǎo)出項目的方法5. IDEA調(diào)試源碼小技巧之辨別抽象類或接口多種實現(xiàn)類的正確路徑6. Django實現(xiàn)將views.py中的數(shù)據(jù)傳遞到前端html頁面,并展示7. Jquery使用原生AJAX方法請求數(shù)據(jù)8. JS如何在數(shù)組指定位置插入元素9. Java源碼解析之ClassLoader10. PHP下對緩沖區(qū)的控制
