""" Write a Python program that outputs all possible strings formed by using the characters 'c', 'a', 't', 'd', 'o', and 'g' exactly once. """ # define 'permute' function def permute(char_pool, current_str): # base case: if char_pool is empty, print value of 'current_str' if len(char_pool) == 0: print(current_str) return # try each remaining character as the next pick for i in range(len(char_pool)): # pick character at i: pass down pool without it, and string with it added permute(char_pool[:i] + char_pool[i+1:], current_str + char_pool[i]) permute('catdog', '')