Une fonction qui renvoie des résultats
Relancer gedit, récupérer un des programmes de la dernière fois, avec une fonction "calcul" qui marche. Par exemeple :
def calcul(a,b,c,d,e): print a+b+c*d*e calcul(1,2,10,100,1000)
Remplacer "print" par "return"
def calcul(a,b,c,d,e): return a+b+c*d*e calcul(1,2,10,100,1000)
Que se passe-t-il quand on le lance ?
Et si on ajoute "print" devant le dernier "calcul"
def calcul(a,b,c,d,e): return a+b+c*d*e print calcul(1,2,10,100,1000)
2 fonctions imbriquées
Essayer le programme suivant :
def calcul(a,b,c,d,e): return a+b+c*d*e print calcul(1,2,10,100,1000) - def super_calcul(a,b): return alcul(a,a,a,a,a)+calcul(b,b,b,b,b) print super_calcul(1,2)
Ce qui se passe : la fonction super_calcul appelle calcul plusieurs fois.
Débugger
Pour mieux comprendre ce qui se passe, on peut mettre des "traces", par exemple :
def calcul(a,b,c,d,e): print "calcul avec",a,b,c,d,e return a+b+c*d*e print calcul(1,2,10,100,1000) def super_calcul(a,b): print "super_calcul avec",a,b return alcul(a,a,a,a,a)+calcul(b,b,b,b,b)
print super_calcul(1,2)