많은 단어 (각 줄마다 하나의 단어)가 포함 된 텍스트 파일이 있습니다. 각 단어를 읽고 단어를 수정 한 다음 수정 된 단어가 파일의 단어와 일치하는지 확인해야합니다. 내가 마지막 부분에 문제가있다 (그것은 내 코드에서 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'은 이미 문자열입니다 –