我正在尝试编写一个函数,在该函数中在文本文件中搜索输入字符串(文本文件包含英语单词列表,全部用小写字母表示)。 输入的字符串可以全小写,大写或首字母大写,其余小写。
到目前为止,我已经知道了,但是它不能完全正常工作,我不确定该怎么办。
def is_english_word( string ):
with open("english_words.txt", "r") as fileObject:
if string in fileObject.read():
return(True)
newstring = string
if newstring[0].isupper() == True:
newstring == string.lower()
if newstring in fileObject.read():
return(True)
答案 0 :(得分:1)
尝试一下:
def is_english_word(string):
with open("english_words.txt", "r") as fileObject:
text = fileObject.read()
return string in text or (string[0].lower() + string[1:]) in text
答案 1 :(得分:1)
您有一个缩进问题:with
语句必须在def
中是一个缩进:
def is_english_word( string ):
with open("english_words.txt", "r") as fileObject:
if string.istitle() or string.isupper():
return string.lower() in fileObject.read()
else:
return string in fileObject.read()
无需检查输入字符串的所有可能情况,只需将其全部小写并进行检查即可。