Для курса я делаю программу, которая должна включать рекурсию. Это то, что я до сих пор:Проблема с Python с программой, включающей рекурсию
def words(letters, start, word):
while (start) < (len(letters)):
word = word + letters[start]
print(word)
letters = letters.replace(letters[start], "")
start = (words(letters, start, word))
return (start + 1)
Целью программы является принять список букв и вывести все возможные комбинации этих букв. Я не уверен, что программа будет работать, но до этого у меня возникает другая проблема. Когда я запускаю это с помощью базовой команды, например.
words("abcd", 0, "")
(0
и ""
только для запуска от команды, поскольку они необходимы в будущем). Но когда я запускаю это, он выводит ab abc abcd, но затем останавливается с ошибкой, ссылаясь на возврат строки (start + 1), говоря, что start
не является целым числом, а None type
. Когда началось становление None type
? И как я могу сохранить его как целое число?
Проблема с, если утверждение, что каждый уровень должен быть запущен через несколько раз для вывода каждого из вариантов, например, слово может начинаться с a, b, c или d, но если вы используете оператор if, выводится только «abcd». – user2832964
@ user2832964 Ваш пример - это оператор 'if'. Он возвращается на первую итерацию. – qwertynl