![]()
Chapitre 8 : Les fonctions
Jusqu'à présent, notre code ne représentait que quelques lignes et restait facilement lisible. Cependant, nous allons bientôt nous lancer dans des programmes plus élaborés faisant plusieurs centaines, voire milliers de lignes et vous comprendrez facilement que tout écrire à la suite va rapidement devenir ingérable... 😱
C'est là qu'interviennent les fonctions.
Une fonction est un ensemble d’instructions créées pour effectuer une tâche précise sous un nom unique, que l'on va pouvoir choisir nous-même, de préférence en choisissant un nom représentatif. Ainsi, par exemple, nous allons créer une fonction addition() dont le but va être d'additionner 2 nombres.
Une fonction se définit comme suit, avec le terme def ou definition, suivi du nom de la fonction puis de ses arguments entre parenthèses, suivis des deux points. Vient ensuite le code de la fonction. Si elle se termine par return + valeur, elle renvoie un résultat, sinon non.
def nom_de_la_fonction (arguments) :
#Code de la fonction
return resultat
Si on y réfléchit, en fait, vous avez déjà utilisé des fonctions sans le savoir. En effet, les fonctions print() ou type() par exemple sont des fonctions prédéfinies dans Python.
Créons donc notre fonction addition() :
def addition (a,b) :
return a + b
Comme vous pouvez le voir, c'est très simple. La fonction s'appelle addition(), elle prend deux arguments : les nombres a et b et elle renvoie (return) l'addition des deux.
L'avantage d'une fonction dans un programme, c'est qu'au lieu de retaper le même code sans arrêt ou de faire des copier/coller, il suffit d'appeler la fonction en question. 🙃
Maintenant, si vous lancez le programme précédent, vous remarquerez qu'il ne se passe rien. C'est normal, car on vient de créer une fonction mais il n'y a aucun code qui y fait appel. 😱
On va donc le rajouter en-dessous. 😎
Attention, comme pour les variables, les fonctions doivent avoir été définies avant de les appeler, sinon ça ne fonctionnera pas ! C'est comme si on vous demandait d'aller chercher quelqu'un sans vous dire de qui il s'agit... 😝
#On crée la fonction addition
def addition (a,b) :
return a + b
#Début de notre programme
#On demande à l'utilisateur de rentrer 2 nombres
a = int(input("Entrez un nombre pour a :"))
b = int(input("Entrez un nombre pour b :"))
#On appelle notre fonction addition dans la fonction
#print() pour afficher le résultat
print(addition(a, b))
Eh oui, comme les conditions ou les boucles, on peut imbriquer des fonctions dans d'autres fonctions, ce qui rend le tout extrêmement rapide et pratique ! 😄
Cela dit, vous remarquerez que ce n'est pas très propre, car on a du mal à savoir où commence notre programme, surtout si on rajoute encore d'autres fonctions... C'est pour ça, qu'en général, en programmation, on commence par la fonction main().
On peut le faire en Python, en écrivant cela comme ça :
#Fonction qui teste si un nombre est inférieur ou pas
def inferieur(a,b):
if a < b :
return True
else :
return False
#Fonction qui teste si un nombre est paire ou non
def parite (nombre) :
if nombre % 2 == 0 :
print("paire")
else :
print("impaire")
#Fonction qui additionne 2 nombres
def addition (a,b) :
return a + b
#Fonction principale
def main():
a = int(input("Entrez un nombre pour a :"))
b = int(input("Entrez un nombre pour b :"))
#On appelle la fonction inférieur pour tester les nombres rentrés
if inferieur(a, b):
print("a = " + str(a) + " est inférieur à b = " + str(b))
else :
print("a = " + str(a) + " est supérieur à b = " + str(b))
#On appelle la fonction parité
parite (a)
parite (b)
#On appelle la fonction addition
print(addition(a, b))
#Appel qui indique de commencer le programme
#par le main() lorsqu'il est lancé (Run)
if __name__ == "__main__":
main()
Voilà; ce programme est un peu plus long mais assez commenté pour permettre de comprendre comment il fonctionne. 😉
Passons maintenant à un peu d'entraînement ! 🤓
TP 11 |
|
Reprenez le code ci-dessus et rajoutez le test de l'égalité entre les deux nombres, dans la fonction inferieur(). Dans la fonction parite(), rajoutez le nombre, pour afficher quelque chose du type : "24 est un nombre pair". Dans l'appel à la fonction addition() : print(addition(a, b)), rajoutez du texte pour que cela affiche quelque chose du type : "24 + 12 = 36". |
TP 12 |
|
Reprenez le code du TP 11. Créez une fonction bonjour(), qui affiche "Bonjour !" et appelez-la au début du programme. Idem avec la fonction auRevoir() à la fin. |
TP 13 |
|
Reprenez le code du TP 12. Créez les fonctions soustraction(), multiplication() et division() et affichez leurs résultats comme pour la fonction addition(). |
Voilà, pour ce chapitre ! 😀
A bientôt pour la suite ! ☺️

English
Français