Les fonctions en Python sont un élément clé de la programmation modulaire. Elles permettent de diviser un programme en sous-programmes ou blocs de code réutilisables, facilitant ainsi la maintenance et la compréhension du code. Ce guide vous propose un tour d’horizon des fonctions en Python, avec des explications théoriques suivies d’exercices corrigés pour renforcer vos compétences.
Une fonction est un bloc de code qui effectue une tâche spécifique et peut être réutilisé plusieurs fois dans un programme. Les fonctions en Python sont définies à l’aide du mot-clé def
suivi du nom de la fonction et des parenthèses ()
.
def bonjour():
print("Bonjour, tout le monde!")
Dans cet exemple, la fonction bonjour
affiche simplement un message de salutation.
Pour exécuter la fonction, il suffit de l’appeler en utilisant son nom suivi des parenthèses :
bonjour()
Les fonctions peuvent également accepter des paramètres pour effectuer des tâches plus complexes.
def saluer(nom):
print(f"Bonjour, {nom}!")
Ici, la fonction saluer
prend un argument nom
et l’utilise dans la chaîne de caractères à afficher.
saluer("Alice")
Cela affichera : Bonjour, Alice!
Les fonctions peuvent aussi avoir des paramètres avec des valeurs par défaut.
def saluer(nom="tout le monde"):
print(f"Bonjour, {nom}!")
Dans ce cas, si aucun argument n’est passé, le message par défaut sera affiché.
Une fonction peut également renvoyer une valeur à l’aide du mot-clé return
.
Exemple
def ajouter(a, b):
return a + b
Cette fonction additionne deux nombres et renvoie le résultat.
resultat = ajouter(5, 3)
print(resultat)
Cela affichera : 8
Les fonctions lambda sont des fonctions anonymes, c’est-à-dire des fonctions sans nom, créées à l’aide du mot-clé lambda
.
Exemple
addition = lambda a, b: a + b
print(addition(5, 3))
Cela affichera également : 8
Python permet aussi de définir des fonctions à l’intérieur d’autres fonctions.
Exemple
def exterieur(x):
def interieur(y):
return y + 1
return interieur(x)
Cette fonction exterieur
appelle la fonction interieur
définie en son sein.
Les fonctions peuvent être passées en tant qu’arguments à d’autres fonctions.
Exemple
def operation(fonction, x, y):
return fonction(x, y)
def multiplier(a, b):
return a * b
print(operation(multiplier, 5, 3))
Cela affichera : 15
Correction :
def somme(a, b):
return a + b
# Test de la fonction
print(somme(4, 5)) # Affiche 9
Correction :
def valeur_absolue(x):
if x < 0:
return -x
return x
# Test de la fonction
print(valeur_absolue(-10)) # Affiche 10
print(valeur_absolue(7)) # Affiche 7
Correction :
def maximum(a, b, c):
if a > b and a > c:
return a
elif b > c:
return b
else:
return c
# Test de la fonction
print(maximum(4, 7, 2)) # Affiche 7
Correction :
def est_premier(n):
if n <= 1:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
# Test de la fonction
print(est_premier(7)) # Affiche True
print(est_premier(4)) # Affiche False
Correction :
def table_multiplication(n):
for i in range(1, 11):
print(f"{n} x {i} = {n * i}")
# Test de la fonction
table_multiplication(5)
Les fonctions sont essentielles pour écrire un code clair, réutilisable et modulaire. Ce guide vous a introduit aux concepts de base et avancés des fonctions en Python, accompagnés d’exercices corrigés pour une meilleure compréhension. N’hésitez pas à créer vos propres exercices pour continuer à vous entraîner.
N’hésitez pas à demander des explications supplémentaires ou d’autres exercices si vous en avez besoin.
Objectif : Créer une fonction qui divise deux nombres, avec une gestion particulière des cas où le diviseur est égal à zéro.
Consignes :
a
et b
.b
est égal à zéro, la fonction doit retourner un message d’erreur indiquant que la division par zéro n’est pas possible.Correction :
def division(a, b):
if b == 0:
return "Erreur : Division par zéro impossible."
return a / b
# Test de la fonction
print(division(10, 2)) # Affiche 5.0
print(division(10, 0)) # Affiche "Erreur : Division par zéro impossible."
Objectif : Créer une fonction qui calcule la racine carrée d’un nombre. Si le nombre est négatif, la fonction doit retourner un message indiquant que la racine carrée d’un nombre négatif n’est pas définie dans les nombres réels.
Consignes :
n
.n
est négatif, la fonction doit retourner un message d’erreur.n
.Correction :
import math
def racine_carree(n):
if n < 0:
return "Erreur : Racine carrée d'un nombre négatif non définie."
return math.sqrt(n)
# Test de la fonction
print(racine_carree(9)) # Affiche 3.0
print(racine_carree(-4)) # Affiche "Erreur : Racine carrée d'un nombre négatif non définie."
Objectif : Créer une fonction qui trie une liste de nombres. Si la liste est vide, la fonction doit retourner un message spécifique.
Consignes :
Correction :
def tri_liste(liste):
if len(liste) == 0:
return "La liste est vide, rien à trier."
return sorted(liste)
# Test de la fonction
print(tri_liste([3, 1, 4, 1, 5, 9])) # Affiche [1, 1, 3, 4, 5, 9]
print(tri_liste([])) # Affiche "La liste est vide, rien à trier."
Objectif : Créer une fonction qui calcule la moyenne d’une liste de nombres, en excluant les valeurs extrêmes (la plus petite et la plus grande).
Consignes :
Correction :
def moyenne_sans_extremes(liste):
if len(liste) < 3:
return "Pas assez de données pour exclure les valeurs extrêmes."
liste_sans_extremes = sorted(liste)[1:-1]
return sum(liste_sans_extremes) / len(liste_sans_extremes)
# Test de la fonction
print(moyenne_sans_extremes([1, 2, 3, 4, 5])) # Affiche 3.0
print(moyenne_sans_extremes([10, 5])) # Affiche "Pas assez de données pour exclure les valeurs extrêmes."
Objectif : Créer une fonction qui analyse une chaîne de caractères pour déterminer si elle est un palindrome (mot qui se lit de la même manière de gauche à droite et de droite à gauche). Si la chaîne est de longueur 1, la fonction doit indiquer qu’il est impossible de déterminer si c’est un palindrome.
Consignes :
Correction :
def est_palindrome(chaine):
if len(chaine) == 1:
return "Vérification inutile pour une chaîne d'une seule lettre."
return chaine == chaine[::-1]
# Test de la fonction
print(est_palindrome("radar")) # Affiche True
print(est_palindrome("python")) # Affiche False
print(est_palindrome("a")) # Affiche "Vérification inutile pour une chaîne d'une seule lettre."
Ces exercices avancés couvrent des cas particuliers que vous pourriez rencontrer lors de la création de fonctions en Python. Ils sont conçus pour vous aider à anticiper et gérer les exceptions, à travailler avec des conditions spécifiques, et à améliorer la robustesse de vos programmes. N’hésitez pas à les adapter à vos besoins ou à les combiner pour créer des exercices encore plus complexes.
Le commentaire composé est un exercice littéraire qui consiste à analyser un texte en respectant…
Les adjectifs liés en français sont les adjectifs qui s’accordent en genre (masculin/féminin) et en…
Voici une liste étendue de mots piégeux en français, avec leurs genres et des explications…
Apprendre à distinguer le genre des noms en français peut être un véritable défi pour…
1. Informations Générales Nom complet : Charles-Louis de Secondat, Baron de La Brède et de…
Introduction L’Art de la Guerre (Dell’arte della guerra), publié en 1521, est l’un des ouvrages…
This website uses cookies.