La notion de fonction

Introduction

 

En programmation, une fonction est un ensemble d’instructions qui accomplissent une tâche spécifique. Les fonctions permettent d’organiser le code en segments réutilisables, facilitant ainsi la maintenance, la lisibilité et la modularité. Que ce soit pour des calculs mathématiques simples ou pour des simulations statistiques plus complexes, les fonctions sont essentielles à la programmation efficace.

 

Cours

 

1. Fonctions à un ou plusieurs arguments

 

a. Fonctions à un argument :

Une fonction peut avoir un seul argument, qui est une valeur ou une variable passée à la fonction.

 

def carre(x):

    return x ** 2

 

resultat = carre(5)  # Renvoie 25

print(resultat)

 

b. Fonctions à plusieurs arguments :

Les fonctions peuvent également avoir plusieurs arguments.

 

def additionner(x, y):
    return x + y
 
somme = additionner(3, 4)  # Renvoie 7
print(somme)

 

L’ordre dans lequel vous passez les arguments à la fonction est important. Dans l’exemple précédent, ‘x’ est 3 et ‘y’ est 4.

 

2. Fonction renvoyant un nombre aléatoire

 

Python possède un module intégré nommé ‘random’ qui offre une variété de fonctions pour générer des nombres aléatoires.

 

Pour obtenir un nombre aléatoire, vous pouvez utiliser la fonction ‘randint()’ du module ‘random’.

 

import random
 
def obtenir_aleatoire(minimum, maximum):
    return random.randint(minimum, maximum)
 
nombre = obtenir_aleatoire(1, 100)  # Renvoie un nombre entre 1 et 100 inclus
print(nombre)

 

3. Série statistique obtenue par la répétition de l’appel d’une telle fonction

 

Lorsque vous appelez à plusieurs reprises une fonction qui renvoie un nombre aléatoire, vous obtenez une série de valeurs. Cette série peut être utilisée pour des analyses statistiques ou pour des simulations.

 

import random
 
def obtenir_aleatoire():
    return random.randint(1, 6)
 
# Simulons le lancer d'un dé 100 fois
lancers = [] # Crée une liste vide
for i in range(100):
    lancers.append(obtenir_aleatoire()) # Ajoute un nombre aléatoire entre 1 et 6 dans la liste
 
print(lancers)
 
# Analyse statistique simple : combien de fois le nombre 6 apparaît
nb_six = lancers.count(6)
print("Le nombre 6 est apparu " + str(nb_six) + " fois.")

 

Dans cet exemple, nous avons utilisé une boucle ‘for’ pour simuler le lancer d’un dé 100 fois et nous avons ajouté chaque résultat à la liste ‘lancers’. Ensuite, nous avons utilisé la méthode ‘count’ pour compter le nombre de fois que le chiffre 6 est apparu et nous avons affiché ce résultat en utilisant une concaténation de chaînes. La fonction ‘str()’ est utilisée ici pour convertir le nombre ‘nb_six’ en une chaîne de caractères afin qu’il puisse être concaténé et affiché avec le reste du message textuel.

 

Méthodes

 

1. Écrire des fonctions simples et appeler une fonction

 

Pour écrire une fonction simple, définissez la fonction avec ‘def’, suivi du nom de la fonction, des parenthèses ‘()’ contenant les arguments, et terminez avec un deux-points ‘:’. Le corps de la fonction est indenté.

 

def saluer(nom):
    return "Bonjour, " + nom + "!"
 
# Appeler la fonction
print(saluer("Alice"))  # Affiche "Bonjour, Alice!"

 

2. Lire, comprendre, modifier, et compléter des fonctions plus complexes

 

Comprendre :

Lorsqu’on vous donne une fonction complexe, prenez le temps de lire le code attentivement, en identifiant les arguments, les variables locales, les boucles, les conditions et les instructions de retour.

 

Modifier :

Pour modifier une fonction, vous pouvez changer les valeurs, ajouter ou supprimer des arguments, ou modifier la logique.

 

Compléter :

Pour compléter une fonction, vous pouvez ajouter des conditions supplémentaires, des calculs ou des instructions de retour.

 

3. Lire et comprendre une fonction renvoyant une moyenne, un écart type

 

Supposons qu’on vous donne une fonction qui calcule la moyenne et l’écart-type d’une série de nombres.

 

def statistiques(nombres):
    n = len(nombres)
    moyenne = sum(nombres) / n
    
    # Calcul de la variance
    somme_des_carres = 0
    for x in nombres:
        somme_des_carres += (x - moyenne) ** 2
    variance = somme_des_carres / n
    
    ecart_type = variance ** 0.5
    return moyenne, ecart_type
 
# Exemple d'utilisation
print(statistiques([1, 2, 3, 4, 5]))  # Affiche (3.0, 1.4142135623730951)

 

Ici, la fonction ‘statistiques’ prend une liste de nombres, calcule leur moyenne et leur écart-type, et renvoie ces valeurs.

 

4. Écrire des fonctions renvoyant le résultat numérique d’une expérience aléatoire, d’une répétition d’expériences aléatoires indépendantes

 

Expérience aléatoire :

Une expérience aléatoire peut être simulée en utilisant le module `random`.

 

import random
 
def lancer_de():
    return random.randint(1, 6)

 

Répétition d’expériences aléatoires :

Vous pouvez également créer une fonction qui simule la répétition de ces expériences.

 

def repeter_lancers(n):
    return [lancer_de() for _ in range(n)]
 
# Exemple d'utilisation
print(repeter_lancers(10))  # Affiche une liste de 10 lancers de dé

 

En maîtrisant ces méthodes, vous pouvez créer des fonctions personnalisées pour résoudre des problèmes spécifiques et analyser des données de manière programmatique.