Почему я получаю ошибку рекурсии, если глубина ожидаемой рекурсии должна быть меньше 999?Python

Программы на Python
Anonymous
Почему я получаю ошибку рекурсии, если глубина ожидаемой рекурсии должна быть меньше 999?

Сообщение Anonymous »

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

Код: Выделить всё

def main():
list_to_sort: list[int] = [50, 3, 500, 90, 1, 1]

def sort(param_to_sort: list[int]) -> list[int]:
param_len = len(param_to_sort)
if param_len == 1:
return param_to_sort
else:
half_len: int = param_len // 2
list1: list[int] = sort(param_to_sort[0:half_len])
list2: list[int] = sort(param_to_sort[half_len:-1])
if list1[-1] 

Подробнее здесь: [url]https://stackoverflow.com/questions/78687383/why-do-i-get-a-recursion-error-when-the-depth-of-the-expected-recursion-should-b[/url]

Вернуться в «Python»