Les fonctions
Cours complet · sciences numériques et technologie (seconde), chapitre 5 · seconde générale, SNT
Travailler ce chapitre sur Adloun Exercices corrigés de ce chapitre
Une fonction regroupe, sous un nom, une suite d'instructions que l'on peut réutiliser. Elle prend des paramètres (les données d'entrée) et renvoie un résultat avec l'instruction return. Les fonctions structurent le code et évitent les répétitions.
5.1 Définir et appeler une fonction
def nom_fonction(parametre1, parametre2):
# instructions de la fonction
return resultat
Une fonction est une « machine » : on lui fournit des valeurs (les arguments), elle exécute son bloc et renvoie un résultat avec return — ici carre(5) vaut 25.
Méthode : Écrire et utiliser une fonction
- écrire
def, le nom, puis entre parenthèses les paramètres, et deux-points ; - dans le bloc indenté, effectuer les calculs et renvoyer le résultat avec
return; - appeler la fonction en écrivant son nom suivi des valeurs entre parenthèses.
def carre(x):
return x * x
resultat = carre(5)
print(resultat) # Affiche : 25
print affiche une valeur à l'écran mais ne la transmet pas ; return renvoie une valeur réutilisable dans un calcul. Après un return, la fonction s'arrête aussitôt.
5.2 Fonctions à plusieurs arguments
Distance entre deux points et :
def distance(xa, ya, xb, yb):
return ((xb - xa)**2 + (yb - ya)**2) ** 0.5
print(distance(-1, 3, 3, 1)) # 4.472... (soit 2*sqrt(5))
Une fonction peut renvoyer directement le résultat d'un test :
def est_pair(n):
return n % 2 == 0
print(est_pair(10)) # True
print(est_pair(7)) # False
5.3 Lire une fonction statistique
Il faut savoir lire et comprendre une fonction qui renvoie une moyenne ou un écart type, même sans maîtriser les listes. Ici, valeurs est une liste de nombres que la fonction parcourt.
def moyenne(valeurs):
total = 0
for x in valeurs:
total = total + x
return total / len(valeurs)
def ecart_type(valeurs):
m = moyenne(valeurs)
total = 0
for x in valeurs:
total = total + (x - m)**2
return (total / len(valeurs)) ** 0.5
print(moyenne([4, 6, 8, 10, 12])) # 8.0
print(ecart_type([4, 6, 8, 10, 12])) # 2.828... (soit sqrt(8))
La moyenne additionne les valeurs et divise par leur nombre ; l'écart type mesure la dispersion autour de la moyenne.