Untitled

mail@pastecode.io avatar
unknown
python
a year ago
805 B
1
Indexable
Never
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('Мама')))