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)