溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中如何實現(xiàn)瘋狂填詞程序

發(fā)布時間:2021-05-24 11:21:33 來源:億速云 閱讀:102 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下Python中如何實現(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:
silly
Enter a noun:
chandelier
Enter a verb:
screamed
Enter a noun:
pickup truck

思路如下:

  • 程序需要做以下事情:
     讀入文本文件
     在相應(yīng)單詞的地方讓用戶輸入替換
     保存修改后的文本文件,并將結(jié)果打印到屏幕

  • 代碼需要做以下事情:
     導入模塊re
     編寫函數(shù),創(chuàng)建正則表達式對象
     函數(shù)內(nèi)調(diào)用Regex.findall()方法,返回匹配到的所有結(jié)果列表
     打開文本文件,導入到變量
     for循環(huán)控制輸入
     字符串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() #將文本內(nèi)容讀入變量longStr
print("源文本如下:",longStr)
for i in madLibs(longStr): #循環(huán)遍歷函數(shù)返回的匹配對象列表
  print("Enter an {0}:".format(i))
  longStr = longStr.replace(i,input()) #調(diào)用字符串的replace()方法輸入替換,再賦值給longStr
print(longStr)
resultFile = open('new123.txt','w') #在當前工作目錄創(chuàng)建一個新的文件
resultFile.write(longStr) #將字符串變量寫入resultFile對象
openFile.close()
resultFile.close()

結(jié)果如下:

Python中如何實現(xiàn)瘋狂填詞程序

python主要應(yīng)用領(lǐng)域有哪些

1、云計算,典型應(yīng)用OpenStack。2、WEB前端開發(fā),眾多大型網(wǎng)站均為Python開發(fā)。3.人工智能應(yīng)用,基于大數(shù)據(jù)分析和深度學習而發(fā)展出來的人工智能本質(zhì)上已經(jīng)無法離開python。4、系統(tǒng)運維工程項目,自動化運維的標配就是python+Django/flask。5、金融理財分析,量化交易,金融分析。6、大數(shù)據(jù)分析。

以上是“Python中如何實現(xiàn)瘋狂填詞程序”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI