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:
silly
Enter a noun:
chandelier
Enter a verb:
screamed
Enter a noun:
pickup truck
思路如下:
- 程序需要做以下事情:
讀入文本文件
在相應(yīng)單詞的地方讓用戶輸入替換
保存修改后的文本文件,并將結(jié)果打印到屏幕 - 代碼需要做以下事情:
導(dǎo)入模塊re
編寫函數(shù),創(chuàng)建正則表達式對象
函數(shù)內(nèi)調(diào)用Regex.findall()方法,返回匹配到的所有結(jié)果列表
打開文本文件,導(dǎo)入到變量
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é)果如下:
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
tensorflow pb to tflite 精度下降詳解
這篇文章主要介紹了tensorflow pb to tflite 精度下降詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05關(guān)于python selenium 運行時彈出窗口問題
最近在做一個網(wǎng)頁代填項目,用到了python的selenium知識,經(jīng)過了各種嘗試與搜索最后終算是較完美的解決了,下面小編給大家?guī)砹藀ython selenium 運行時彈出窗口問題,感興趣的朋友一起看看吧2021-11-11Python中的with語句與上下文管理器學(xué)習總結(jié)
在Python中作為上下文管理器的對象可以使用with語句,提供上下文管理器的contextlib模塊的使用則是Python編程中的高級技巧,下面我們就來詳細整理一下Python中的with語句與上下文管理器學(xué)習總結(jié):2016-06-06