RecursionError: maximum recursion depth exceeded - como superar?
📁 python, pergunta, conselho, IA
Há uma tarefa em ; há sua solução, onde pela elegância Python "venceu" C#, mas já em x=512 aparece RecursionError: o que vocês aconselham, mestres? Como superar, se quiser calcular para x=1024, por exemplo?
import functools
from math import sqrt
@functools.lru_cache()
def f(x):
if x <= 1: return 0
return 1 + min([ f(m + x // m - 2) for m in range E,F,A,B produz a tupla (5,6,1,2), que não tem mais nenhuma relação com as variáveis originais e não está de forma alguma conectada a elas.
foo = E,F,A,Bprint(foo) # => (5, 6, 1, 2)E = -777print(foo) # ainda => (5, 6, 1, 2)A sintaxe A,B,C,D = — é unpacking (desempacotamento) (neste caso de uma tupla) — atribui sequencialmente valores de uma lista, tupla ou qualquer outro objeto iterável (pode-se usar = range(4), por exemplo) após o sinal de igual. E aquela tupla que está à direita já não tem nenhuma relação com as variáveis originais.
Faça login para deixar uma resposta