Avatar ·

RecursionError: maximum recursion depth exceeded - comment surmonter ?

📁 Sujets avancés sur Python, Question simple de débutant, Conseils et astuces avancés, IA

Il y a un problème dans ; il y a sa solution, où par l'élégance Python a "vaincu" C#, mais voilà qu'à x=512 déjà apparaît RecursionError : que conseillez-vous, pères ? Comment surmonter, si on veut calculer pour x=1024 par exemple ?

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                    
Avatar ·

E,F,A,B donne le tuple (5,6,1,2), qui n'a plus aucun rapport avec les variables originales et n'est pas lié à elles.

foo = E,F,A,Bprint(foo)  # => (5, 6, 1, 2)E = -777print(foo)  # toujours => (5, 6, 1, 2)

La syntaxe A,B,C,D = — c'est le déballage (dans ce cas d'un tuple) — qui assigne séquentiellement aux variables les valeurs d'une liste, d'un tuple ou de tout autre objet itérable (on peut mettre = range(4), par exemple), situé après le signe égal. Et ce tuple qui se trouve à droite n'a déjà plus aucun lien avec les variables originales.

Connectez-vous pour laisser une réponse

Blogs