# Ich bevorzuge das Wort Permutation, denn der Begriff Anagramm bezieht sich meinem Verständnis nach nur auf Permutationen eines Wortes, die einen Sinn ergeben. from math import factorial, prod def erzeuge(s, a): if len(a) >= 1: y = '' for i, x in enumerate(a): if x != y: b = a[:] b.pop(i) erzeuge(s+x, b) y = x else: liste_der_permutationen.append(s) wort = input("Gib ein Wort ein: ") wort = wort.upper() liste_der_permutationen = [] a = sorted(list(wort)) erzeuge('', a) print(liste_der_permutationen) # Rest als Probe: anzahl_theoretisch = int(factorial(len(wort))/prod(factorial(wort.count(buchstabe)) for buchstabe in set(wort))) print(f'Anzahl der Permutationen (theoretisch): {anzahl_theoretisch}') print(f'Anzahl der Permutationen in der Liste: {len(liste_der_permutationen)}')