単語のリストを調べて、文字 p、y、t、h、o、n のみを含む単語の数をカウントするプログラムを設計しています。
これまでのところ、私のコードは次のとおりです。
def find_python(string, python):
"""searches for the letters 'python' in the word."""
for eachLetter in python:
if eachLetter not in string:
return False
return True
def main():
python = 'python'
how_many = 0
try:
fin = open('words.txt')#open the file
except:
print("No, no, file no here") #if file is not found
for eachLine in fin:
string = eachLine
find_python(string, python)
if find_python(string, python) == True:
how_many = how_many + 1#increment count if word found
print how_many#print out count
fin.close()#close the file
if __name__ == '__main__':
main()
ただし、私のコードは間違った単語数を返しています。たとえば、python という文字が含まれているため、print ステートメントを入力すると、「木琴奏者」という単語が返されます。禁止文字を含む単語を拒否するにはどうすればよいですか?