Boucles et plages en Python

PythonPythonBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous allez apprendre à utiliser les instructions de boucle for et la fonction range() en Python. Les instructions de boucle for vous permettent d'itérer sur une séquence d'éléments, telle qu'une liste ou une chaîne de caractères. La fonction range() est une fonction intégrée qui renvoie une séquence de nombres, commençant par 0 par défaut, incrémentant de 1 (également par défaut) et se terminant à un nombre spécifié.

Objectifs

  • Instructions de boucle for
  • Fonction range()
  • Fonction enumerate()
  • Fonction zip()

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/DataStructuresGroup -.-> python/lists("Lists") python/FunctionsGroup -.-> python/arguments_return("Arguments and Return Values") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/strings -.-> lab-78{{"Boucles et plages en Python"}} python/for_loops -.-> lab-78{{"Boucles et plages en Python"}} python/lists -.-> lab-78{{"Boucles et plages en Python"}} python/arguments_return -.-> lab-78{{"Boucles et plages en Python"}} python/build_in_functions -.-> lab-78{{"Boucles et plages en Python"}} python/data_collections -.-> lab-78{{"Boucles et plages en Python"}} end

Boucle for

Une boucle for est une instruction de contrôle de flux qui vous permet d'itérer sur une séquence d'éléments. La syntaxe d'une boucle for est la suivante :

for variable in sequence:
    instructions

sequence est une séquence d'éléments (telle qu'une liste, un tuple ou une chaîne de caractères) et variable est une variable qui prend successivement chaque valeur de la séquence. Les instructions à l'intérieur de la boucle seront exécutées pour chaque valeur de la séquence.

Ouvrez un nouvel interpréteur Python.

python3

Voici un exemple d'une simple boucle for qui itère sur une liste d'entiers et affiche chaque valeur :

numbers = [1, 2, 3, 4, 5]
for number in numbers:
    print(number)

Itération sur une chaîne de caractères :

for char in 'Hello':
    print(char)

La fonction range()

La fonction range() est une fonction intégrée en Python qui renvoie une séquence de nombres. La syntaxe de la fonction range() est la suivante :

range(debut, fin, pas)

debut est le nombre de départ de la séquence (par défaut 0), fin est le nombre de fin de la séquence (non inclus) et pas est l'incrément entre chaque nombre de la séquence (par défaut 1).

Vous pouvez utiliser la fonction range() dans une boucle for pour itérer sur une séquence de nombres. Par exemple :

for i in range(5):
    print(i)

Vous pouvez également spécifier une valeur de début et de fin pour la fonction range() :

for i in range(2, 5):
    print(i)

Vous pouvez même spécifier une valeur de pas :

for i in range(2, 10, 2):
    print(i)

Boucles for imbriquées

Vous pouvez également utiliser plusieurs boucles for pour itérer sur des séquences imbriquées. Par exemple :

for i in range(1, 3):
    for j in range(1, 4):
        print(f'i: {i}, j: {j}')

Exercice

Maintenant, c'est à vous de pratiquer l'utilisation des instructions de boucle for et de la fonction range(). Écrivez un programme qui affiche le motif suivant :

*
**
***
****
*****

Quelques conseils :

Votre programme devrait utiliser deux boucles for, l'une imbriquée dans l'autre. La boucle externe devrait itérer sur le nombre de lignes, et la boucle interne devrait itérer sur le nombre de colonnes.

Pour terminer cet exercice, vous devrez utiliser la fonction print() pour afficher les astérisques. Vous pouvez utiliser la fonction range() pour contrôler le nombre d'itérations des boucles.

La fonction enumerate()

La fonction enumerate prend un itérable en entrée, tel qu'une liste, et renvoie un itérateur qui génère des tuples contenant l'index et la valeur de chaque élément. Dans l'exemple ci-dessous, nous utilisons l'opérateur de désempaquetage (index, fruit) pour assigner l'index et la valeur de chaque tuple aux variables index et fruit respectivement.

## Exemple d'utilisation de la fonction enumerate dans une boucle for en Python

## Liste d'échantillonnage pour itérer
fruits = ['apple', 'banana', 'cherry']

## Utilisation d'une boucle for et de la fonction enumerate pour itérer sur la liste
for index, fruit in enumerate(fruits):
    print(f"Index: {index}, Fruit: {fruit}")

## Sortie :
## Index: 0, Fruit: apple
## Index: 1, Fruit: banana
## Index: 2, Fruit: cherry

Dans l'exemple ci-dessus, nous définissons une liste fruits contenant les éléments apple, banana et cherry.

Ensuite, nous utilisons une boucle for pour itérer sur la liste de fruits et la fonction enumerate pour obtenir à la fois l'index et la valeur de chaque élément de la liste. À l'intérieur de la boucle, nous utilisons la mise en forme de chaînes pour afficher l'index et le fruit. La fonction enumerate commence par défaut à compter à partir de 0, mais vous pouvez utiliser l'argument optionnel start pour spécifier un point de départ différent pour le comptage.

La fonction zip()

La fonction zip() peut être utile lorsqu'on travaille avec plusieurs listes ou autres objets itérables et qu'on veut itérer sur leurs éléments par paires, ou lorsqu'on veut combiner plusieurs objets itérables en un seul.

## Exemple d'utilisation de la fonction zip() dans une boucle for en Python

## Listes d'échantillonnage pour itérer
fruits = ['apple', 'banana', 'cherry']
prix = [1,2, 3,5, 2,5]

## Utilisation d'une boucle for et de la fonction zip pour itérer sur les listes
for fruit, prix in zip(fruits, prix):
    print(f"Fruit: {fruit}, Prix: ${prix}")

## Sortie :
## Fruit: apple, Prix: $1,2
## Fruit: banana, Prix: $3,5
## Fruit: cherry, Prix: $2,5

Dans l'exemple ci-dessus, nous définissons deux listes fruits et prix contenant respectivement les éléments apple, banana, cherry et 1,2, 3,5, 2,5.

Ensuite, nous utilisons une boucle for pour itérer sur les éléments des deux listes à l'aide de la fonction zip(). La fonction zip() prend plusieurs objets itérables en entrée et renvoie un itérateur qui génère des tuples contenant les éléments des itérables d'entrée aux positions correspondantes. Dans l'exemple ci-dessus, nous utilisons l'opérateur de désempaquetage (fruit, prix) pour assigner les éléments de chaque tuple aux variables fruit et prix respectivement. À l'intérieur de la boucle, nous utilisons la mise en forme de chaînes pour afficher le Fruit et le prix.

Si la longueur des itérables d'entrée n'est pas égale, la fonction zip() s'arrêtera à la fin de l'itérable le plus court.

Récapitulatif

Dans ce laboratoire, vous avez appris à utiliser les instructions de boucle for de Python et la fonction range() pour itérer sur une séquence d'éléments. Vous avez appris la syntaxe des boucles for et de la fonction range(), et avez vu des exemples d'utilisation pour itérer sur des listes, des chaînes de caractères, des tuples et des séquences de nombres. Vous avez également appris à utiliser des boucles for imbriquées pour itérer sur des séquences imbriquées.

Maintenant que vous avez appris les bases des boucles for et de la fonction range(), vous pouvez utiliser ces outils pour effectuer des tâches telles que le traitement de données, la génération de sorties, etc.