Python編程快速上手——瘋狂填詞程序?qū)崿F(xiàn)方法分析
本文實(shí)例講述了Python瘋狂填詞程序?qū)崿F(xiàn)方法。分享給大家供大家參考,具體如下:
題目如下: 創(chuàng)建一個(gè)瘋狂填詞程序,它將讀入文件,并讓用戶在該文本文件中出現(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á)式對(duì)象 函數(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á)式對(duì)象 print(madLibsRex.findall(longStr)) #驗(yàn)證是否模式匹配正確 return madLibsRex.findall(longStr)openFile = open(’123.txt’,’r’)longStr = openFile.read() #將文本內(nèi)容讀入變量longStrprint('源文本如下:',longStr)for i in madLibs(longStr): #循環(huán)遍歷函數(shù)返回的匹配對(duì)象列表 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)建一個(gè)新的文件resultFile.write(longStr) #將字符串變量寫入resultFile對(duì)象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)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章:
1. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向2. windows服務(wù)器使用IIS時(shí)thinkphp搜索中文無效問題3. PHP設(shè)計(jì)模式中工廠模式深入詳解4. 淺談python出錯(cuò)時(shí)traceback的解讀5. .NET中l(wèi)ambda表達(dá)式合并問題及解決方法6. Python importlib動(dòng)態(tài)導(dǎo)入模塊實(shí)現(xiàn)代碼7. python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解8. Ajax實(shí)現(xiàn)表格中信息不刷新頁面進(jìn)行更新數(shù)據(jù)9. 利用promise及參數(shù)解構(gòu)封裝ajax請求的方法10. JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析
