Python程式設計快速上手——瘋狂填詞程式實現方法分析
阿新 • • 發佈:2020-03-02
本文例項講述了Python瘋狂填詞程式實現方法。分享給大家供大家參考,具體如下:
題目如下:
- 建立一個瘋狂填詞程式,它將讀入檔案,並讓使用者在該文字檔案中出現ADJECTIVE,NOUN,ADVERB,VERB等單詞的地方,加上它們自己的文字。
- 例如源文字如下: The ADJECTIVE panda walked to the NOUN and then VERB. A nearby NOUN was unaffected by these events.
- 程式將找到這些出現的單詞,提示使用者取代他們
Enter an adjective:
silly
Enter a noun:
Enter a verb:
screamed
Enter a noun:
pickup truck
思路如下:
- 程式需要做以下事情:
讀入文字檔案
在相應單詞的地方讓使用者輸入替換
儲存修改後的文字檔案,並將結果列印到螢幕 - 程式碼需要做以下事情:
匯入模組re
編寫函式,建立正則表示式物件
函式內呼叫Regex.findall()方法,返回匹配到的所有結果列表
開啟文字檔案,匯入到變數
for迴圈控制輸入
字串replace方法進行替換
print()顯示更改後的文字到螢幕
open.write()儲存到新檔案
程式碼如下:
import re def madLibs(longStr): madLibsRex = re.compile(r'ADJECTIVE|NOUN|ADVERB|VERB') #正則表示式物件 print(madLibsRex.findall(longStr)) #驗證是否模式匹配正確 return madLibsRex.findall(longStr) openFile = open('123.txt','r') longStr = openFile.read() #將文字內容讀入變數longStr print("源文字如下:",longStr) for i in madLibs(longStr): #迴圈遍歷函式返回的匹配物件列表 print("Enter an {0}:".format(i)) longStr = longStr.replace(i,input()) #呼叫字串的replace()方法輸入替換,再賦值給longStr print(longStr) resultFile = open('new123.txt','w') #在當前工作目錄建立一個新的檔案 resultFile.write(longStr) #將字串變數寫入resultFile物件 openFile.close() resultFile.close()
結果如下:
更多關於Python相關內容感興趣的讀者可檢視本站專題:《Python資料結構與演算法教程》、《Python列表(list)操作技巧總結》、《Python編碼操作技巧總結》、《Python函式使用技巧總結》、《Python字串操作技巧彙總》及《Python入門與進階經典教程》
希望本文所述對大家Python程式設計有所幫助。