Vos apprentis ont remarqué dans votre manuel une fonction min, qui prend deux valeurs en paramètre et fournit la plus petite des deux. Ils se demandent comment est codée cette fonction.
Ce que doit faire votre programme :
Écrivez une fonction nommée min2, qui prend deux entiers en paramètres et retourne le plus petit. Pour démontrer l'utilisation de cette fonction, vous lirez 10 entiers sur l'entrée, utiliserez votre fonction pour conserver uniquement le plus petit des 10, puis vous l'afficherez à la fin.
Exemple
entrée :
4 3 6 2 6 8 9 8 5 4
sortie :
2
Valeur de retour
Les fonctions que nous avons écrites effectuaient des opérations, mais n'avaient cependant aucune influence sur la suite de l'exécution du programme. Supposons par exemple que nous ayons souvent besoin de calculer la valeur absolue d'un nombre, de cette façon :
if nombre < 0: distance = -nombre else: distance = nombre
Nous pouvons écrire une fonction qui prend en paramètre un nombre et calcule sa valeur absolue. Il nous faut cependant un moyen pour retransmettre cette valeur au programme. Au moment de l'appel, l'idée est de considérer dans le programme, qu'une fonction appelée a une valeur que l'on peut utiliser ensuite. Cette valeur, calculée par les instructions de la fonction, peut alors être affectée à une variable. On pourrait ainsi écrire notre programme en utilisant la fonction valeurAbsolue :
distance1 = valeurAbsolue(nombre1); distance2 = valeurAbsolue(nombre2);
Notre fonction valeurAbsolue prendrait en paramètre une valeur et retournerait sa valeur absolue. Voyons maintenant comment écrire une telle fonction.
Pour que la fonction puisse effectivement retourner une valeur, il faut
qu'elle contienne une instruction,
composée du mot-clé return
et de la valeur que l'on veut retourner.
L'instruction return
quitte la fonction et transmet la valeur qui suit au programme appelant :
def valeurAbsolue(valeur): if valeur >= 0: valAbsolue = valeur else: valAbsolue = -valeur return valAbsolue
Une telle fonction est ainsi comparable à la notion de fonction mathématique :
valeurAbsolue(x)
aura pour valeur la valeur absolue du contenu de la variable x.
Remarques : l'instruction return
Il est possible de mettre plusieurs instructions return
à l'intérieur d'une fonction.
Chacune d'entre elles doit être suivie d'une valeur
du format attendu.
Il est également important que quoi qu'il arrive dans la fonction, elle retourne une valeur,
donc exécute une instruction return
. Notre fonction peut ainsi s'écrire plus simplement :
def valeurAbsolue(valeur): if valeur < 0: return -valeur return valeur
Dans le cas des fonctions qui ne retournent pas de valeur,
il est également possible d'utiliser l'instruction return
. Elle n'est alors suivie d'aucune valeur
et a simplement pour effet de quitter la fonction immédiatement, lorsqu'elle est exécutée.
En réalité, en Python, toute expression a une valeur, et une absence de valeur vaut None
.
Vous devez être connecté(e) pour résoudre ce problème.
L'inscription ne prendra qu'une minute et vous pourrez alors résoudre les exercices puis faire valider automatiquement vos solutions.
Une fois identifié(e), vous pourrez demander sur cette page des conseils pour résoudre le sujet ou demander de l'aide sur le forum d'entraide.
Lorsque vous serez connecté(e), vous pourrez voir vos actions ici.
Une correction détaillée sera disponible lorsque vous aurez résolu le sujet.