Oi Edson, como você está?
Peço desculpas pela demora em responder.
É realmente um desafio implementar esse problema sem o auxílio da intertools e sem o auxílio de uma função recursiva. Porém, no artigo Encontre todas as permutações de uma string em Python- em inglês: Find all permutations of a string in Python, o(a) autor(a) ensina como realizar essa implementação iterativa. A ideia por trás do método iterativo é armazenar parcialmente cada permutação, porém, é um código de complexidade alta, ou seja, consome muita memória, uma vez que terá três laços de repetição aninhados (um dentro do outro). Recomendo que leia esse artigo e analise com calma o código e realize alguns testes e coloque prints para conseguir entender melhor sobre cada procedimento que está sendo feito.
O artigo está em inglês, caso tenha dificuldade com o idioma, recomendo o uso do tradutor do navegador.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!