Leçon #5 : combiner des fonctions

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)
 
Page générée par UWiKiCMS 1.1.8 le Sunday 24 November 2024.
Copyright © 2015 Christian Mauduit. Document placé sous licence GNU FDL.
Mis à jour le Friday 24 April 2015.