Formations (1)

Les boucles

Apprenez à utiliser les boucles for et while pour répéter des actions ou itérer sur des objets.

Projets (5)

Le nombre mystère

workspace_premium

Dans ce projet, vous devez créer le célèbre jeu du nombre mystère grâce au module random de Python dans lequel un utilisateur doit deviner un nombre entre 1 et 100.

La calculatrice - Gestion des erreurs

workspace_premium

Dans cette version du projet de la calculatrice, vous devez rajouter la gestion des erreurs pour éviter que le script plante en cas d'une entrée invalide de l'utilisateur.

La calculatrice - Opérations multiples

workspace_premium

Dans ce projet, nous allons ajouter une boucle pour permettre l’exécution de plusieurs opérations consécutives, au lieu de se limiter à une seule opération avec la calculatrice.

Le trieur de fichiers

workspace_premium

Projets dans lequel vous devez utiliser la puissance de la librairie standard de Python pour faire du ménage dans votre système d'exploitation en triant des fichiers selon leur extension.

Jeu de rôle dans le terminal

workspace_premium

Projet qui consiste à créer un jeu de rôle dans le terminal. Le jeu sera basé sur la logique algorithmique, utilisant des boucles et des structures conditionnelles pour gérer les interactions entre le joueur et l'environnement du jeu.

Exercices de code (45)

Additionner deux matrices

Boucles

Listes

Mathématiques

Dans cet exercice, vous devez créer une fonction addition_matrices capable d’additionner deux matrices. Les matrices seront représentées par des listes...

Premium

Débloquer

Afficher la table de multiplication d'un nombre

Affichage

Boucles

Chaînes de caractères

Dans cet exercice, vous devez afficher la table de multiplication d'un nombre. Dans ce cas-ci, votre script doit afficher la...

Créer un vérificateur d'adresses IP

Boucles

Fonctions

Fonctions natives

Structures conditionnelles

Algorithmes

Dans cet exercice, vous devez créer une fonction ip_checker qui acceptera un paramètre ip_address et qui retournera le booléen True...

Premium

Débloquer

Récupérer seulement les éléments pairs d'une liste

Boucles

Listes

Opérateurs

Dans cet exercice, nous avons une liste qui contient 50 nombres. Le but de cet exercice est de récupérer dans...

Ajouter des éléments à un dictionnaire

Dictionnaires

Boucles

On s'attaque maintenant aux dictionnaires, toujours avec un peu de boucles for pour pimenter le tout. Dans cet exercice, vous...

Premium

Débloquer

Sortir d'un labyrinthe

Boucles

Listes

Algorithmes

Dans cet exercice, vous devez créer une fonction nommé sortir_labyrinthe prenant en paramètre un labyrinthe qui sera représenté par des...

Premium

Débloquer

Convertir un nombre romain en nombre entier décimal

Boucles

Fonctions

Dans cet exercice, nous voulons créer une fonction qui permettra de réaliser la conversion d'un nombre romain (par exemple "VI")...

Premium

Débloquer

Recréer la méthode isdigit

Boucles

Fonctions

Algorithmes

Dans cet exercice, nous allons recréer une méthode appartenant aux chaînes de caractères, la méthode isdigit, qui permet de vérifier...

Premium

Débloquer

Compter l'occurrence de chaque lettre de l'alphabet dans un texte

Dictionnaires

Boucles

Fonctions natives

Librairie standard

Dans cet exercice, nous cherchons à analyser un texte pour savoir combien de fois on y retrouve chaque lettre de...

Premium

Débloquer

Inverser les lettres d'un mot

Boucles

Chaînes de caractères

Fonctions natives

Algorithmes

Dans cet exercice, vous allez devoir inverser l'ordre des lettres d'un mot. Dans cet exemple-ci, le mot est 'Docstring' votre...

Calculer les prix réduits

Dictionnaires

Boucles

Algorithmes

L'une des tâches courantes en programmation est de parcourir une liste d'éléments et de réaliser une certaine action sur chaque...

Premium

Débloquer

Calculer le cumul des valeurs dans une liste

Boucles

Listes

Dans cet exercice, nous allons créer une fonction cumul_valeurs qui permet de renvoyer une liste contenant le cumul de toutes...

Premium

Débloquer

Regrouper les livres par auteur

Dictionnaires

Boucles

Fonctions

Structures conditionnelles

Vous travaillez pour une bibliothèque en ligne. Vous devez écrire une fonction regroupe_par_auteur(livres) qui prend en argument une liste de...

Premium

Débloquer

Calculer la moyenne des élèves

Dictionnaires

Boucles

Fonctions

Dans cet exercice, vous devrez réaliser une fonction moyenne_eleves qui prend en paramètre un dictionnaire avec en clé les noms...

Premium

Débloquer

Créer une fonction pour remonter dans un dossier

Boucles

Chaînes de caractères

Fonctions

Fonctions natives

Le but de cet exercice est de créer une fonction, qui permette de remonter dans une structure de dossier autant...

Premium

Débloquer

Boucler sur une chaîne de caractères

Boucles

Le but de cet exercice est d'afficher chaque lettre du mot contenu dans la variable site_web. Votre script devra donc...

Premium

Débloquer

Ajouter un séparateur de milliers à un nombre

Boucles

Fonctions

Algorithmes

Dans cet exercice, nous voulons formater un nombre pour ajouter une virgule entre chaque millier. Ainsi, le nombre contenu dans...

Premium

Débloquer

Créer un motif avec des print

Affichage

Boucles

Listes

Fonctions natives

Dans cet exercice, vous allez devoir afficher une moitié de losange composée du symbole grâce à une boucle for et...

Premium

Débloquer

Trouver tous les diviseurs d'un nombre

Boucles

Listes

Opérateurs

Dans cet exercice, nous cherchons tous les diviseurs d'un nombre, dans ce cas-ci, le nombre 50. Les diviseurs du nombre...

Premium

Débloquer

Formater un texte avec la fonction format

Affichage

Boucles

Dans cet exercice, nous continuons d'aborder le formatage de texte, cette fois-ci avec la fonction format. Le but de cet...

Premium

Débloquer

Sortir d'une boucle infinie

Boucles

Dans cet exercice, nous sommes en présence d'une boucle while infinie ! En l'état actuel, le script ne s'arrêtera jamais...

Compter le nombre d'émojis

Dictionnaires

Boucles

Chaînes de caractères

Itérateurs

Algorithmes

Dans cet exercice, l'objectif est de récupérer le nombre d'émojis pour chaque émoji dans la chaîne de caractères emojis. Vous...

Premium

Débloquer

Créer une pyramide de symboles

Affichage

Boucles

Dans cet exercice, nous allons, à partir d'une variable 'symbole' et une variable 'taille' créer une pyramide avec ce symbole,...

Premium

Débloquer

Calculer un investissement grâce à une fonction

Boucles

Fonctions

Algorithmes

Dans cet exercice, on veut une créer une fonction capable de résoudre le problème suivant : Marie a investi 3000...

Premium

Débloquer

Inverser les mots d'une phrase

Boucles

Chaînes de caractères

Fonctions natives

Algorithmes

Dans cet exercice, il est question d'inverser l'ordre des mots dans une phrase. Votre phrase devra, comme une phrase normalement...

Premium

Débloquer

Enlever les doublons d'une liste

Boucles

Listes

Le but de cet exercice est d'enlever les doublons de la liste. Pour réussir l'exercice, vous devez utiliser une autre...

Premium

Débloquer

Recréer la méthode split

Boucles

Fonctions

Listes

Algorithmes

Dans cet exercice, nous allons recréer la méthode split, qui permet de séparer une phrase en plusieurs éléments, en spécifiant...

Premium

Débloquer

Vérifier si une phrase est un pangramme

Boucles

Chaînes de caractères

Librairie standard

Algorithmes

Encore un exercice avec un mot barbare que vous n'avez peut-être jamais entendu de votre vie 😅 Un pangramme est...

Premium

Débloquer

Rajouter les majuscules dans une phrase

Boucles

Chaînes de caractères

Fonctions natives

Compréhension de liste

Dans cet exercice, le texte de départ ne comporte aucune majuscule. Vous allez devoir modifier le texte afin de rajouter...

Premium

Débloquer

Corriger l'erreur dans la boucle

Boucles

Fonctions natives

Résolution d'erreurs

Le but de cet exercice est de modifier le script afin d'afficher l'index de chaque lettre du mot 'Python'. Pour...

Créer un générateur de lancer de dés

Boucles

Fonctions natives

Le but de cet exercice est de générer 6 lancer de dés aléatoires, allant de 1 à 6. Votre script...

Convertir une chaîne de caractères en camelCase

Boucles

Chaînes de caractères

Fonctions natives

Algorithmes

Dans cet exercice dans lequel vous devez convertir une phrase en un mot au format camelCase. Le camelCase est une...

Premium

Débloquer

Calculer la factorielle d'un nombre

Boucles

Structures conditionnelles

Algorithmes

Dans cet exercice, nous cherchons la factorielle d'un nombre, dans ce cas-ci le nombre 5. La factorielle de 5 est...

Premium

Débloquer

Trouver les nombres divisibles par 7 mais qui ne sont pas des multiples de 3

Boucles

Listes

Opérateurs

Le but de cet exercice est de trouver tous les nombres de 0 à 1000 qui sont divisibles par 7...

Premium

Débloquer

Recréer la fonction len

Boucles

Algorithmes

Un exercice toujours très intéressant à faire en Python est d'essayer de recréer les fonctions de base. Dans cet exercice,...

Premium

Débloquer

Récupérer l'indice de l'itération dans une boucle

Boucles

Fonctions natives

Le but de cet exercice est de récupérer à la fois l'indice et l'élément sur lequel nous bouclons dans chaque...

Déterminer les relations de parenté dans un graphe

Boucles

Algorithmes

TOSA

Étant donnée une liste L de relations qui définit un [graphe orienté acyclique](https://w.wiki/9q44). Vous devez complétez la fonction is_ancestor qui...

Premium

Débloquer

Trouver un élément spécifique et son indice dans une liste

Boucles

Chaînes de caractères

Listes

Algorithmes

TOSA

Écrivez une fonction trouver_nombre qui prend en paramètre une liste contenant des nombres entiers et des chaînes de caractères. La...

Premium

Débloquer

Indices des éléments vrais

Boucles

Listes

Compréhension de liste

Booléens

Algorithmes

TOSA

Écrivez une fonction matrice qui prend en entrée une liste de listes de booléens et retourne une nouvelle liste de...

Premium

Débloquer

Calcul du nombre total d'éléments dans une liste de listes

Boucles

Listes

Compréhension de liste

Algorithmes

TOSA

Vous disposez d'une fonction nommée somme_listes qui prend en paramètre une liste de listes d'entiers (listes_nombres). Cette fonction a pour...

Premium

Débloquer

Calculer les déplacements possibles d'un fou sur un échiquier

Boucles

Algorithmes

Dans cet exercice, vous devez créer une fonction deplacements_fou qui permet de calculer tous les déplacements possibles d’un fou sur...

Premium

Débloquer

Compter le nombre d'occurrences d'une lettre dans une phrase

Boucles

Fonctions natives

Algorithmes

Dans cet exercice, nous cherchons à compter le nombre d'occurrences d'une lettre dans une chaîne de caractère. Ici, nous cherchons...

Algorithme du FizzBuzz

Boucles

Structures conditionnelles

Algorithmes

TOSA

Le challenge FizzBuzz est un classique pour évaluer les bases de programmation. L'objectif de cet exercice est d'écrire un programme...

Rechercher le minimum excluant

Boucles

Algorithmes

TOSA

Écrivez la fonction minimum_exclu qui prend en paramètre une liste d'entiers non négatifs et retourne le plus petit entier non...

Premium

Débloquer

Aider le comptable d'une entreprise

Boucles

Listes

Dans une entreprise, chaque mois, les salariés ont un salaire et une prime. Le comptable cherche à faire des statistiques....

Glossaires (5)

24 mars 2025

Glossaire

Boucle

Les boucles for et while en Python

992 lectures

Lire

27 octobre 2023

Glossaire

while

Comment utiliser la boucle while ?

5 260 lectures

Lire

16 octobre 2023

Glossaire

for

Comment utiliser la boucle for ?

4 879 lectures

Lire

15 octobre 2023

Glossaire

enumerate

La fonction enumerate en Python

30 175 lectures

Lire

11 octobre 2023

Glossaire

break

À quoi sert l'instruction break en Python ?

1 354 lectures

Lire

FAQ (5)

Comment créer et utiliser des générateurs en Python ?

Les générateurs en Python sont des fonctions spéciales qui retournent un flux d'éléments au lieu d'une seule valeur.

Ils utilisent le mot-clé yield et peuvent être employés pour économiser de la mémoire et améliorer les performances.

Voici un exemple de générateur qui produit les carrés des nombres :

def gen_carrés(max_n):
  n = 1
  while n <= max_n:
    yield n * n
    n += 1

Pour utiliser un générateur, utilisez une boucle for comme suit :

for carré in gen_carrés(5):
  print(carré)

Cela affiche :

1
4
9
16
25

Les générateurs sont particulièrement utiles pour les grandes séquences de données.

Par exemple, voici un générateur qui lit les lignes d'un fichier:

def read_lines(file):
  with open(file) as f:
    for line in f:
      yield line

Les générateurs sont également compatibles avec les compréhensions de listes, appelées compréhensions de générateurs :

carrés = (x*x for x in range(1, 6))

for carré in carrés:
  print(carré)
Qu'est-ce qu'une boucle en Python et comment l'utiliser ?

Une boucle en Python est une structure de contrôle permettant de répéter un ensemble d'instructions plusieurs fois.

Il existe deux types de boucles : for et while.

for

La boucle for est utilisé pour itérer sur une séquence (liste, chaîne, etc.) et exécute le bloc de code pour chaque élément. La syntaxe est :

for variable in sequence:
     instructions

Exemple :

fruits = ["pomme", "banane", "cerise"]
for fruit in fruits:
    print(fruit)

Ici, la variable fruit prend successivement la valeur de chaque élément de la liste 'fruits' et affiche "pomme", "banane", "cerise".

while

La boucle while est utilisé pour exécuter un bloc de code tant qu'une condition est vraie.

La syntaxe est :

while condition:
    instructions

Exemple :

compteur = 0
while compteur < 5:
    print(compteur)
    compteur += 1

Dans cet exemple, tant que compteur est inférieur à 5, le code affiche la valeur de compteur et l'incrémente de 1.

Lorsque compteur atteint 5, la boucle s'arrête.

Comment sortir d'une boucle

Sortir d'une boucle en Python peut être réalisé grâce à deux commandes : break et continue.

break est utilisé pour terminer immédiatement une boucle, en évitant le reste des itérations. Voici un exemple où la boucle s'arrête lorsqu'elle atteint la valeur 3:

for i in range(5):
    if i == 3:
        break
    print(i)
# Output : 0 1 2

continue est utilisé pour sauter l'itération en cours et passer directement à la suivante. Dans cet exemple, la boucle saute l'impression de 3, mais continue avec les valeurs suivantes:

for i in range(5):
    if i == 3:
        continue
    print(i)
# Output : 0 1 2 4

Faites attention à ne pas utiliser break et continue à l'extérieur des boucles, cela entraînera une erreur de syntaxe. De plus, il est recommandé de les utiliser avec parcimonie pour éviter de créer des boucles potentiellement difficiles à lire et à maintenir.

Comment boucler en arrière (de la fin au début) sur une liste

Boucler en arrière sur une liste en Python est un processus simple grâce au slicing. Vous pouvez utiliser la syntaxe suivante pour inverser une liste et boucler sur ses éléments à l'envers :

for element in liste[::-1]:
    # Votre code ici

[::-1] retourne une nouvelle liste inversée, sans modifier la liste d'origine. Prenons un exemple concret :

nombres = [1, 2, 3, 4, 5]
for nombre in nombres[::-1]:
    print(nombre)

Ce code affichera :

5
4
3
2
1

Si vous ne voulez pas créer une nouvelle liste, utilisez reversed() qui retourne un itérateur inversé :

for nombre in reversed(nombres):
    print(nombre)

Le résultat est le même. Enfin, pour boucler avec un index, utilisez range() avec des arguments négatifs :

for i in range(len(nombres)-1, -1, -1):
    print(nombres[i])

Cela permet d'obtenir l'index de la liste à partir de la fin sans créer de nouvelle liste, et le résultat affiché sera également le même.

À quoi sert la fonction enumerate

La fonction enumerate() en Python est utilisée pour ajouter un compteur aux objets itérables tels que les listes, les tuples, les chaînes de caractères, etc. Cette fonction simplifie la gestion des index et des éléments lors de l'utilisation de boucles, en renvoyant un objet énuméré qui comprend les index et les valeurs des objets itérables.

Voici un exemple d'utilisation basique de enumerate() avec une liste :

nombres = ["un", "deux", "trois", "quatre"]
for i, valeur in enumerate(nombres):
    print(i, valeur)

Output :

0 un
1 deux
2 trois
3 quatre

Dans cet exemple, i représente l'index (position) et valeur représente l'élément de la liste. enumerate() parcourt chaque élément et renvoie l'index et la valeur correspondante.

Il est également possible de spécifier un point de départ pour le compteur :

nombres = ["un", "deux", "trois", "quatre"]
for i, valeur in enumerate(nombres, 1):
    print(i, valeur)

Output :

1 un
2 deux
3 trois
4 quatre

Ici, la numérotation commence à 1, plutôt qu'à 0 comme par défaut.

Utiliser enumerate() permet d'éviter les erreurs courantes dues à la manipulation manuelle des index, et rend le code plus facile à lire et à maintenir.

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.