O código não interpola, apenas coloca cada uma das letras na frente da palavra exemplo.
palavra_exemplo = "lgica"
def insere_letras(fatias):
novas_palavras = []
letras = 'abcdefghijklmnopqrstuvwxyzàáâãèéêìíîòóôõùúûç'
for E, D in fatias:
for letra in letras:
novas_palavras.append(E + letra + D)
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)
return palavras_geradas
palavras_geradas = gerador_palavras(palavra_exemplo)
print(palavras_geradas)
Saída:
['algica', 'blgica', 'clgica', 'dlgica', 'elgica', 'flgica', 'glgica', 'hlgica', 'ilgica', 'jlgica', 'klgica', 'llgica', 'mlgica', ...etc..., 'çlgica']
Mesmo após a correção do professor de "lista" para "palavra", depois que ele roda, o retorno dele também é esse. Não deveríamos ter como saída todos os casos: 'algica, lagica, lgaica, lgiaca, lgicaa, lgicaa, blgica, lbgica, etc? Parece que o código não está fatiando. Como no exemplo abaixo:
lista = "cdigo"
palavra_exemplo = "cdigo"
def gerador_palavras(palavra):
fatias = []
for i in range(len(palavra)+1):
fatias.append((lista[:i],lista[i:]))
print(fatias)
gerador_palavras(palavra_exemplo)
Saída:
[('', 'cdigo'), ('c', 'digo'), ('cd', 'igo'), ('cdi', 'go'), ('cdig', 'o'), ('cdigo', '')]
Não consigo ve onde está o erro. Podem me ajudar? Obrigado