X Tutup
def getPermsWithRep(chars, permLength=None, prefix=''): indent = '.' * len(prefix) print(indent + 'Start, args=("' + chars + '", ' + str(permLength) + ', "' + prefix + '")') if permLength is None: permLength = len(chars) # BASE CASE if (permLength == 0): print(indent + 'Base case reached, returning', [prefix]) return [prefix] # RECURSIVE CASE # Create a new prefix by adding each character to the current prefix. results = [] print(indent + 'Adding each char to prefix "' + prefix + '".') for char in chars: newPrefix = prefix + char # Decrease permLength by one because we added one character to the prefix. results.extend(getPermsWithRep(chars, permLength - 1, newPrefix)) print(indent + 'Returning', results) return results print('All permutations with repetition of JPB123:') print(getPermsWithRep('JPB123', 4))
X Tutup