Contrôle de flux en Python

Contrôle de flux en Python

Cet article explique le contrôle de flux en Python.

YouTube Video

Instruction if en Python

L'instruction if en Python est une syntaxe de branchement conditionnel. Elle est utilisée pour exécuter un bloc de code si une condition spécifique est évaluée comme True (vrai).

Syntaxe de base

L'instruction if en Python suit essentiellement la structure ci-dessous.

1x = 10
2
3if x > 5: # Check if the condition(x > 5) is True
4    # If the condition is True, execute this code block
5    print("x is greater than 5")

Dans cet exemple, "x est supérieur à 5" est affiché si la variable x est supérieure à 5.

Instruction else

Utiliser else après une instruction if permet de spécifier le code à exécuter lorsque la condition est fausse.

1x = 3
2
3if x > 5:
4    print("x is greater than 5")
5else:
6    print("x is less than or equal to 5")

Dans cet exemple, le résultat sera "x est inférieur ou égal à 5".

Instruction elif

Si vous devez vérifier plusieurs conditions, vous pouvez utiliser elif, qui signifie "else if".

1x = 5
2
3if x > 5:
4    print("x is greater than 5")
5elif x == 5:
6    print("x is equal to 5")
7else:
8    print("x is less than 5")

Dans cet exemple, "x est égal à 5" est affiché.

Notes

  • Deux points (:) sont nécessaires après if, elif ou else.
  • Le bloc de code exécuté lorsque la condition est vraie doit être en retrait. En Python, l'indentation standard est généralement de 4 espaces, mais d'autres nombres d'espaces sont acceptés tant que vous êtes cohérent.
  • Vous pouvez utiliser toute expression qui s'évalue à une valeur booléenne comme condition. Cela signifie que vous pouvez utiliser des expressions conditionnelles combinées avec des opérateurs de comparaison ou logiques.

Maîtriser l'instruction if de Python vous permet de contrôler de manière flexible le flux d'exécution du programme.

Branchement conditionnel multiple en Python

Il existe plusieurs façons d’implémenter une fonctionnalité de type switch en Python, similaire à celle d’autres langages. En Python, il est courant d'utiliser des instructions if-elif-else ou des dictionnaires pour créer des structures similaires à une instruction switch.

Méthode 1 : Instruction if-elif-else

La manière la plus simple est d'utiliser l'instruction if-elif-else pour réaliser des branches conditionnelles.

 1def switch_example(value):
 2    if value == 1:
 3        return "Value is one"
 4    elif value == 2:
 5        return "Value is two"
 6    elif value == 3:
 7        return "Value is three"
 8    else:
 9        return "Unknown value"
10
11print(switch_example(1))  # Output: Value is one
12print(switch_example(4))  # Output: Unknown value

Méthode 2 : Utilisation des dictionnaires

En associant des fonctions ou des valeurs à un dictionnaire, il est possible de créer une structure semblable à une instruction switch. C'est pratique lorsque vous voulez effectuer des opérations différentes pour des valeurs spécifiques.

 1def case_one():
 2    return "Value is one"
 3
 4def case_two():
 5    return "Value is two"
 6
 7def case_default():
 8    return "Unknown value"
 9
10def switch_example(value):
11    switch_dict = {
12        1: case_one,
13        2: case_two
14    }
15
16    # Use get() method to retrieve the corresponding function from the dictionary
17    # If the value is not found in the dictionary, use case_default as a fallback
18    return switch_dict.get(value, case_default)()
19
20print(switch_example(1))  # Output: Value is one
21print(switch_example(3))  # Output: Unknown value

Méthode 3 : Instruction match (Python 3.10 et versions ultérieures)

L'instruction match a été introduite dans Python 3.10. C'est une syntaxe de correspondance de motifs qui offre une fonctionnalité similaire à une instruction switch.

 1def switch_example(value):
 2    match value:
 3        case 1:
 4            return "Value is one"
 5        case 2:
 6            return "Value is two"
 7        case 3:
 8            return "Value is three"
 9        case _:
10            return "Unknown value"
11
12print(switch_example(1))  # Output: Value is one
13print(switch_example(4))  # Output: Unknown value

Résumé

  • Instruction if-elif-else : Simple et adaptable à de nombreux cas.
  • Dictionnaires : Utilisez des associations de fonctions ou de valeurs pour permettre un branchement efficace.
  • Instruction match : Permet un branchement plus intuitif dans Python 3.10 et versions ultérieures. La plus proche d'une instruction switch.

Boucles for en Python

L’instruction for de Python est utilisée pour itérer sur chaque élément d’un objet itérable tel qu’une liste, une chaîne de caractères ou un dictionnaire. La syntaxe de base d'une instruction for est la suivante :.

1# Loop through each item in the iterable
2for variable in iterable:
3    # Execute this block of code for each item in the iterable
4    code_to_execute

Voici quelques exemples spécifiques :.

Exemple avec une liste

1fruits = ["apple", "banana", "cherry"]
2for fruit in fruits:
3    print(fruit)

Ce code appelle la fonction print pour chaque élément de la liste fruits, affichant le nom de chaque fruit.

Exemple avec range()

La fonction range() génère des entiers dans une plage spécifiée, ce qui la rend utile pour les itérations numériques.

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

range(5) génère des entiers de 0 à 4. Dans ce cas, 0, 1, 2, 3, 4 seront affichés séquentiellement.

Exemple avec un dictionnaire

Dans le cas des dictionnaires, les clés sont itérées par défaut, mais vous pouvez également récupérer des paires clé-valeur.

1person = {"name": "Alice", "age": 25}
2for key in person:
3    print(key, person[key])

Vous pouvez également utiliser la méthode items() pour récupérer simultanément les clés et les valeurs.

1person = {"name": "Alice", "age": 25}
2for key, value in person.items():
3    print(key, value)

Boucle for imbriquée

Il est également possible d'imbriquer des boucles for pour effectuer des processus d'itération complexes.

1matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
2for row in matrix:
3    for num in row:
4        print(num)

Ce code parcourt chaque ligne de la liste matrix et affiche séquentiellement les nombres de chaque ligne.

continue pour sauter une itération et break pour terminer une boucle

En utilisant continue dans une boucle for, l'itération actuelle sera ignorée et le programme passera à la suivante. De plus, utiliser break interrompra complètement la boucle.

1for i in range(10):
2    if i == 5:
3        continue
4    if i == 8:
5        break
6    print(i)

Dans cet exemple, la boucle saute lorsque i est égal à 5 et se termine lorsque i est égal à 8. Ainsi, le résultat sera 0, 1, 2, 3, 4, 6, 7.

La boucle for de Python est très flexible et peut être utilisée dans une variété de scénarios. Selon le type de traitement itératif que vous souhaitez effectuer, elle peut être utilisée en combinaison avec des listes, des dictionnaires, des chaînes de caractères et range().

Boucle while en Python

En Python, la boucle while est une structure de contrôle utilisée pour exécuter en répétition le code d'un bloc tant que la condition reste True. La syntaxe de base de la boucle while est la suivante :.

1while condition:
2    # This block of code will be executed repeatedly as long as the condition is true
3    statement1
4    statement2
5    ...

Exemple :

Dans l'exemple ci-dessous, une boucle while est utilisée pour afficher les nombres de 1 à 5.

1i = 1
2while i <= 5:
3    print(i)
4    i += 1

Ce code fonctionne comme suit.

  • Commencez avec i égal à 1, affichez i tant qu’il est inférieur ou égal à 5, et incrémentez i de 1 à chaque fois.

Remarque :

Vous devez garder les points suivants à l’esprit lorsque vous utilisez l’instruction while.

  1. Attention aux boucles infinies

    • Si la condition dans une boucle while est toujours True, cela entraînera une boucle infinie. Des opérations appropriées doivent être effectuées pour modifier la condition ; sinon, le programme ne s'arrêtera pas.
  2. Utilisation de break et continue :

    • break est utilisé lorsque vous voulez sortir de la boucle prématurément.
    • continue saute l’itération courante et commence la suivante. Faites attention, car des conditions de boucle incorrectes peuvent entraîner une boucle infinie.

Exemple de break :

1i = 1
2while i <= 5:
3    if i == 3:
4        break  # Exit the loop when i becomes 3
5    print(i)
6    i += 1
  • Dans ce cas, après que 1 et 2 sont affichés, la boucle se termine lorsque i devient 3.

Exemple de continue :

1i = 0
2while i < 5:
3    i += 1
4    if i == 3:
5        # Skip the print statement and move to the next loop iteration when i is 3
6        continue
7    print(i)
  • Dans ce cas, l'affichage est sauté uniquement pour 3, ce qui donne 1, 2, 4, 5.
  • En incrémentant la valeur de i au début de la boucle, le compteur avance même si continue est exécuté, ce qui évite une boucle infinie.

Vous pouvez suivre l'article ci-dessus avec Visual Studio Code sur notre chaîne YouTube. Veuillez également consulter la chaîne YouTube.

YouTube Video