Untitled
unknown
python
2 years ago
805 B
7
Indexable
def all_anagrams(word):
dict = {}
for i in word:
dict[i]=0
if len(word) <= 1:
return [word]
else:
anagrams = []
for i, letter in enumerate(word):
if dict[letter] == 0:
dict[letter]+=1
# получаем все анаграммы для оставшейся части слова
sub_anagrams = all_anagrams(word[:i] + word[i+1:])
# вставляем первый символ в разные позиции каждой анаграммы
for sub_anagram in sub_anagrams:
anagrams.append(letter + sub_anagram)
else:
pass
return anagrams
print(', '.join(all_anagrams('Мама')))
Editor is loading...