Я думаю, вы можете подойти к этому по-другому.Следуя вашему коду, я думаю, что вы просто хотите сократить список и распечатать результат на консоли, когда вы исчерпали последовательность, но я не вижу никакой логики для реальной перестановки.Прости меня, если он там и я пропустил это.
Вот как я об этом думаю.Начните с первого элемента «a», сохраните индекс «i», чтобы передать его в вашу вспомогательную функцию, затем поменяйте местами со списком, который не содержит «a», поэтому в этом случае это будут «b и c».Затем сопоставьте это с вашим индексом "i" и снова отмените список с тем же самым символом.Это выведет «abc and acb».
Затем я увеличу «i» и снова вызову вашего помощника.Итак, теперь ваш элемент - «b», а список подкачки - «a и c», и выдает «bac» и «bca».Затем увеличьте и повторите снова, чтобы получить «cab» и «cba».Вы можете иметь свой базовый случай рекурсии, так как я такой же, как len (последовательность).Надеюсь, я никуда тебя не потерял.Я не кодировал это, потому что понял, что ты пытаешься учиться на практикеУдачи!