第8章實踐項目之瘋狂填詞 創建一個一個瘋狂填詞(Mad Libs),程式,它將讀入文本文件,並讓用戶在該文本文件中出現 ADJECTIVE,NOUN,VERB等單詞的地方,加上他們自己的文本。 首先準備一個a.txt的文本文件 程式代碼如下: 輸出結果為: cat下b.txt OK 大功告成。 ...
第8章實踐項目之瘋狂填詞
創建一個一個瘋狂填詞(Mad Libs),程式,它將讀入文本文件,並讓用戶在該文本文件中出現 ADJECTIVE,NOUN,VERB等單詞的地方,加上他們自己的文本。
首先準備一個a.txt的文本文件
程式代碼如下:
#!/usr/bin/env python3.4
# coding:utf-8
# 8.9.2
import re
f1 = open('a.txt','r')
strf1 = f1.read()
print("原文件內容為:")
print(strf1)
strf1_list = strf1.split(' ')
f1.close()
# 由於原文件需要被替換的單詞都是大寫的英文單詞
# 使用正則表達式找出原文件中所有將被替換的單詞
replist = re.findall(r'[A-Z]{2,}',strf1)
print("原文件中將被替換的單詞為:")
print(replist)
print()
for rep in replist:
inputstr = input("Enter %s " % rep)
print(inputstr)
# 先將替換後的單詞插入到原列表對應的位置
strf1_list.insert(strf1_list.index(rep),inputstr)
# 再將原先的單詞刪除
strf1_list.remove(rep)
# 將列表轉換為字元串
newstr = ' '.join(strf1_list)
print("替換後的內容為:")
#print(newstr)
# 將新的字元串寫入文件b.txt中,並列印到屏幕
f2 = open('b.txt','w+')
f2.write(newstr)
f2.close()
f3 = open('b.txt','r')
print(f3.read())
f3.close()
輸出結果為:
cat下b.txt
OK 大功告成。