1. 程式人生 > 程式設計 >Python程式設計快速上手——瘋狂填詞程式實現方法分析

Python程式設計快速上手——瘋狂填詞程式實現方法分析

本文例項講述了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:

chandelier
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程式設計有所幫助。