Günümüzde ilginç özyineleme ve yığın taşması konusu ve Python'da maksimum yineleme derinliğini artırmanın herhangi bir yolu olup olmadığını merak ettim mi? n kullanarak özyineleme faktöriyelini bulmak için hızlı bir fonksiyonu Yazılan:Python'daki maksimum yineleme derinliğini nasıl artırdınız?
def factorial(n):
if n == 1:
return n
else:
return n * factorial(n-1)
O faktöriyel (994) baş ama (995) faktöryel olamaz. Verilen hatadır:
RuntimeError: maximum recursion depth exceeded in comparison
Açıkçası daha yüksek bir faktöryel argüman ve entrika uğruna, iteratif bulundu ancak edilebilir maksimum yineleme derinliği arttırılabilir?
https://docs.python.org/2/library/sys.html#sys.setrecursionlimit burada çok fazla özyinelemeye kaçınmanın standart yol Memoization kullanmak olduğunu – freakish
Not. –
Hayır, burada hiç nefret yok. Hepimiz başkalarına yardım etmek için buradayız. Duba olarak kapanmak, senin * nefret ettiğimiz anlamına gelmez. Gelecekte en iyisi. –