Tag: рекурсия

Почему добавление списка само по себе создает бесконечный список

l = [1, 2] l.append(l) >>>l [1, 2, […]] #l is an infinite list Почему это создает бесконечный список вместо создания: l = [1, 2] l.append(l) >>>l [1, 2, [1, 2]]

Использование объектной переменной в качестве аргумента метода recurisve в классе Python

Я пытаюсь написать рекурсивную функцию внутри класса, но имею некоторые проблемы с использованием объекта var в качестве аргумента метода: class nonsense(object): def __init__(self, val): self.val = val def factorial(self, n=self.val): if n<=1: return 1 return n*self.factorial(n=n-1) Приведенный выше код генерирует следующую ошибку: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", […]

Рекурсивные вызовы функций python

Я пытаюсь реализовать рекурсивную функцию и столкнулся с некоторыми трудностями, буду благодарен за ваши мысли. В качестве примера давайте попробуем создать функцию с именем sliding которая делает это sliding("python", 2) ["py", "yt", "th", "ho", "on"] То есть, для выбранного целого, мы скользим вдоль строки, захватывая подстроки соответствующей длины, а затем возвращаем их все в списке. […]

Замена итерации в NumPy

Я пытаюсь переписать следующую процедуру (a, b, c, d и e – все массивы): def generate_a(b, c, e): a = np.zeros_like(b) d = np.zeros_like(b) for i in range(a.size): a[i] = (b[i] / c[i]) + d[i-1] d[i] = a[i] * e[i] return a без использования цикла 'for', поскольку программа должна запускаться миллионы раз. Это маленький трюк, […]

Рекурсивный треугольник pascal

После выполнения задания для создания треугольника паскаля с использованием итеративной функции я попытался воссоздать его с помощью рекурсивной функции. Я дошел до того, что могу заставить его создать отдельную строку, соответствующую числу, переданному в качестве аргумента. Но несколько попыток заставить его создать весь треугольник вплоть до этой строки, включая эту строку, потерпели неудачу. Я даже […]

вычесть строку из другой строки

Я пытаюсь вычесть строку из другой строки и пытаюсь напечатать остальные символы строки. Ниже мой код: def getAvailableLetters(lettersGuessed): s="abcdefghijklmnopqrstuvwxyz" k=list(s) str1=lettersGuessed str2=list(str1) if str2[0] in k: return k.remove(str2[0]) else: return getAvailableLetters(lettersGuessed[1:]) Используется рекурсия, но не получает ответа. Хотите понять, что пошло не так или лучше.

python 2.7 – Рекурсивный Фибоначчи взрывается

У меня есть две функции fib1 и fib2 для вычисления Фибоначчи. def fib1(n): if n < 2: return 1 else: return fib1(n-1) + fib1(n-2) def fib2(n): def fib2h(s, c, n): if n < 1: return s else: return fib2h(c, s + c, n-1) return fib2h(1, 1, n) fib2 отлично работает, пока не fib2 предел рекурсии. […]

Рекурсивная функция Python, сохраняющая значения переменных

Я очищаю несколько старых старых алгоритмов и делаю это с помощью python, так как я использую его чаще в наши дни. Я сталкиваюсь с проблемой при работе с рекурсивной функцией; где переменная получает сброс каждый раз, когда сама рекурсивная функция вызывает себя: def recursive_me(mystring): chars = len(mystring) if chars is 0: print("Done") else: first = […]

что означает ] в python?

Я попытался напечатать список, который предположил бы (я думаю) пустой список, но вместо этого я получил [[…]] . Я попытался это сделать, но не повезло. Более того, когда я использую срез, чтобы увидеть, что это за черт [ … ] в странном списке, я получил то же самое [[…]] , я думаю, что будет какой-то […]

Можно ли удалить рекурсию из этой функции?

Я играл с этим некоторое время и просто не вижу очевидного решения. Я хочу удалить рекурсию из функции XinY_Go. def XinY_Go(x,y,index,slots): if (y – index) == 1: slots[index] = x print slots slots[index] = 0 return for i in range(x+1): slots[index] = xi XinY_Go(x-(xi), y, index + 1, slots) def XinY(x,y): return XinY_Go(x,y,0,[0] * y) […]

Python - лучший язык программирования в мире.