我有一個文本文件包含許多單詞(每行上有單個單詞)。我必須閱讀每個單詞,修改單詞,然後檢查修改後的單詞是否與文件中的任何單詞匹配。我遇到了最後一部分的問題(這是我的代碼中的hasMatch方法)。這聽起來很簡單,我知道我該怎麼做,但無論我嘗試什麼都行不通。文本文件中是否有特定的字符串匹配字符串
這裏#read in textfile
myFile = open('good_words.txt')
#function to remove first and last character in string, and reverse string
def modifyString(str):
rmFirstLast = str[1:len(str)-2] #slicing first and last char
reverseStr = rmFirstLast[::-1] #reverse string
return reverseStr
#go through list of words to determine if any string match modified string
def hasMatch(modifiedStr):
for line in myFile:
if line == modifiedStr:
print(modifiedStr + " found")
else:
print(modifiedStr + "not found")
for line in myFile:
word = str(line) #save string in line to a variable
#only modify strings that are greater than length 3
if len(word) >= 4:
#global modifiedStr #make variable global
modifiedStr = modifyString(word) #do string modification
hasMatch(modifiedStr)
myFile.close()
文件對象是由該外'for'循環消耗。 'hasMatch'中的內循環不會做你認爲它的做法 –
而'word = str(line)'不是必需的。 'line'已經是一個字符串了 –