UPDATE
def get_dictionary_word_list():
with open('dictionarys.txt') as f:
return f.read().split()
def partial_anagram(str1,str2):
str2_list = list(str2)
for char in str1:
if char in str2_list:
str2_list.remove(char)
else:
return False
return True
def find_partial_anagrams_in_word_list(str1,strlist):
partial_anagrams = []
for word in str_list:
if (partial_anagram(word, str1)):
partial_anagrams.append(word)
print(partial_anagrams)
The function find_partial_anagrams_in_word_list(str1,str_list) now works accordingly but constantly loops over the answers and doesn't stop returning them. How can i get it to just return them once?
Looks like you have an indentation problem. You should only
return Trueif the for loops finishes executing without hitting theelseblock. Try unindenting by one.You also need to de-indent your final print.