def insere_letras(fatias): novas_palavras = [] letras = 'abcdefghijklmnopqrstuvxzáâàãéêèêíîìĩóôõòúûùũç' for E, D in fatias: for letra in letras: novas_palavras.append(E + letra + D) return novas_palavras
def deletando_caracteres(fatias): novas_palavras = [] for E, D in fatias: novas_palavras.append(E + D[1:]) return novas_palavras
def troca_letra(fatias): novas_palavras = [] letras = 'abcdefghijklmnopqrstuvxzáâàãéêèêíîìĩóôõòúûùũç' for E, D in fatias: for letra in letras: novas_palavras.append(E + letra + D[1:]) return novas_palavras
def inverte_letra(fatias): novas_palavras = [] for E, D in fatias: if len(D) > 1: novas_palavras.append(E + D[1] + D[0] + D[2:]) return novas_palavras
def gerador_palavras(palavra): fatias = [] for i in range(len(palavra)+1): fatias.append((palavra[:i],palavra[i:])) palavras_geradas = insere_letras(fatias) palavras_geradas += deletando_caracteres(fatias) palavras_geradas += troca_letra(fatias) return palavras_geradas
palavra_exemplo = "lógiac" palavras_geradas = gerador_palavras(palavra_exemplo) print(palavras_geradas)