Python Math: распечатать все перестановки заданной строки

Python Math: Упражнение 16 с решением

Напишите программу Python для печати всех перестановок заданной строки (включая дубликаты).

В математике , понятие перестановки относится к действию упорядочивания всех элементов набора в некоторую последовательность или порядок, или, если набор уже упорядочен, перестановке (переупорядочиванию) его элементов, процессу, называемому перестановкой. Они отличаются от комбинаций, которые представляют собой выборки некоторых элементов набора, порядок которых не учитывается.

На следующем изображении каждая из шести строк представляет собой разную перестановку трех различных шаров

Пример решения : —

Код Python:

  def permute_string (str): if len (str) == 0: return [''] prev_list =  permute_string (str [1: len (str)]) next_list = [] для i в диапазоне (0, len (prev_list)): для j в диапазоне (0, len (str)): new_str = prev_list [i] [0  : j] + str [0] + prev_list [i] [j: len (str) -1], если new_str отсутствует в next_list: next_list.append (new_str) return next_listprint (permute_string ('ABCD'));   

Пример вывода:

 ['ABCD', 'BACD', 'BCAD', 'BCDA', 'ACBD', 'CABD', 'CBAD',  CBDA, ACDB, CADB, CDAB, CDBA, ABDC, BADC, BDAC, BDCA, ADBC, DABC, DBAC, DBCA  ',' ADCB ',' DACB ',' DCAB ',' DCBA '] 

Визуализируйте выполнение кода Python:

Следующий инструмент визуализирует, что делает компьютер, шаг за шагом. step, когда он выполняет указанную программу:

Редактор кода Python:

Оцените статью
nanomode.ru
Добавить комментарий