Kelimenin harflerini karıştıran program

from itertools import permutations

kelime = "asd"

yeni = list(permutations(kelime,len(kelime)))#len(kelime) yerine farklı uzunluk girilebilir

for i in yeni: print "".join(i)

#Çıktı
#asd
#ads
#sad
#sda
#das
#dsa

Kendi algoritmanızı geliştirmek istemiyorsanız bu işinizi görecektir.