Python : Exécution conditionnelle et boucles
Tags: python, french, beginners
Published: 2022-03-24 04:07:36

---
title: Python : Exécution conditionnelle et boucles
published: true
description: 
tags: Python, French, beginner
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c6j2vhlg41ubxt8drjbp.jpg
series: Python crash course
---

Le cours accéléré Python est gratuit et sera publié ici sur dev.to. Je publierai un nouvel article tous les deux jours environ. Pour ne rien manquer, vous pouvez me suivre sur twitter : <a href="https://twitter.com/EricLeCodeur" class="twitter-follow-button" data-show-count="false">Suivez @EricLeCodeur<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

# Exécution conditionnelle

Dans cette section nous verrons comment exécuter un bloc de code seulement si une expression est vraie.

Pour ce faire vous devez utiliser l’instruction « if » en respectant la syntaxe suivante :

if {expression}:

    bloc de code à exécuter si expression est vrai

Voici un exemple

```python
if x == 4:
    print('x est 4')
```

La première ligne représente la condition.

Les deux petits points ":" à la fin de la première ligne indique le début du bloc de code conditionel.

En python, La vérification de l’égalité entre deux valeurs doit être faite avec deux caractères égaux “==”

La deuxième ligne représente le code à exécuter si la condition est vraie.

À noter que la deuxième ligne commence par 4 espaces blanches. En Python ces espaces sont nécessaires afin d’indiquer que cette ligne fait partie du bloc de code.

Il est donc possible d’inclure plus d’une ligne à exécuter

```python
if x == 4:
    print("x est 4")
    print("fait partie du bloc if")

print("Ne fait pas partie du bloc if")
```

Seules les lignes avec 4 espaces blancs font partie du bloc du “if”

### L’opérateur Not “!”

Parfois il peut être pratique d’exécuter un bloc de code seulement si l’expression n’est pas égale à une certaine valeur.

```python
if x != 4:
    print("x n'est pas 4")
```

### Multiples expressions avec l’opérateur “and” et “or”

Il est possible de faire la vérification de plusieurs expressions

Voici deux exemples :

```python
if x == 2 or x == 4:
   print("x est égale à 2 ou 4")
```

```python
if x > 2 and x < 10:
   print("x est compris entre 3 et 9")
```

### L’instruction “else”

Vous venez d’apprendre comment exécuter du code si une expression est vraie. Sachez qu’il est également possible d’exécuter du code si l’expression est fausse.

Voici un exemple :

```python
if x == 4:
    print("x est 4")
else:
   print("x pas égale à 4")
```

Selon le résultat de l’expression, Python va exécuter un des deux blocs de code.

### L’instruction “elif”

Il peut arriver que vous ailliez plusieurs expressions à vérifier et que chaque expression doit avoir son propre bloc de code.

```python
if x == 4:
    print("x est 4")
elif x == 6:
    print("x est 4")
else:
   print("x pas égale à 4 ni à 6")
```

### Expression sans opérateurs

Voici un exemple valide:

```python
messsage = ""

if message:
    print(message)
else:
    print("Sorry, no message")
```

Ici le code “if message:” ne contiens pas d’opérateur de comparaison. L’expression sera donc convertie en valeur True/False (Boolean)

Dans le dernier exemple, étant donné que la variable “message" est vide, sa valeur Boolean sera “False”. Résultat, le code print(”Sorry, no message”) sera exécuté

Voici un autre exemple

```python
shipping_fee = 100

if shipping_fee:
    print(f"Shipping fees: {shipping_fee}")
else:
   print("Free shipping")
```

Dans cet exemple, shipping_fee sera convertie en “True” car Python convertie tous les nombres qui ne sont pas égaux à 0 en “True”.

Si vous vous demandez quelle sera la valeur en Boolean d’une expression, vous pouvez utiliser la fonction bool(expression)

```python
text_num = "0"

print(bool(text_num))
# True
```

Dans cet exemple la variable est de type texte et Python convertira en “True” toutes les variables textes qui ne sont pas vides.

Il est possible d’associé directement une valeur Boolean (True/False) à une variable et ensuite de l’utiliser dans notre code.

```python
is_active = True

if is_active:
    print("User active")
else:
    print("User inactive")
```

### Exécution conditionnelle avec syntaxe abrégée

Il existe une syntax abrégée qui permet d’exécuter du code conditionnel avec une seule ligne de code.

```python
price = 100

print("C'est chers") if price > 100 else print("Pas chers")
```

Le même principe peut s’appliquer pour faire une assignation conditionnelle
```python
active_color = default_color if default_color else "blue"
```

# Itérations : Exécuter un bloc de code à plusieurs reprises

Parfois vous aurez besoin d’écrire plusieurs lignes de code qui peuvent sembler répétitives.

Par exemple écrire une petite application qui affiche les nombres 1 à 10

```python
print(1)
print(2)
print(2)
print(4)
print(5)
print(6)
print(7)
print(8)
print(9)
print(10)
```

Bien que ce code fonctionne, il est clair que ce n’est pas du tout efficace car pour chaque ligne de code, seulement le nombre change.

Une meilleure solution serait de faire une boucle avec l’instruction “for”

L’instruction “for” permet de faire une boucle sur une séquence. Il est possible de créer une séquence avec la fonction range()

Par exemple, la fonction range(10) va créer la séquence suivante :

0 1 2 3 4 5 6 7 8 9

À noter que les séquences commencent toujours par la position zéro

Une fois la séquence créée, l’instruction “for” permet de faire une boucle et d’exécuter du code pour chaque valeur.

Voici un exemple :

```python
for i in range(10): 
    print(i+1)
```

Avec ce code on obtient le même résultat que notre premier exemple mais beaucoup plus rapide à écrire et à maintenir.

### Voici un autre exemple avec une séquence un peu plus complexe

```python
for i in range(10, 20, 2): 
    print(i)

# 10, 12, 14, 16, 18
```

La fonction range() permet de spécifier trois paramètres : départ, fin et step. La valeur de départ et le step sont optionnels. Si non spécifiée, la valeur de départ sera 0 et le step sera 1.

### Boucle un nombre indéterminé

Il est possible que vous ne savez pas d’avance quel sera le nombre d’itérations à effectuer. C’est pourquoi il existe en Python un autre type de boucle : l’instruction “while”

L’instruction “while” permet d’exécuter du code tant que l’expression est True

Voici un exemple :

```python
key = ""

while key != "5":
    key = input("Enter your selection (5 = Quit): ")
```

Dans cet exemple, le bloc de code sera exécuté tant et aussi longtemps que la valeur de key ne sera pas “5”. 

### La fonction “break” et “continue”

Il est possible de terminer une boucle immédiatement et sans que la condition soit respectée en utilisant la fonction “break()”

```python
key = ""

while key != "5":
    key = input("Enter your selection (5 = Quit): ")
    if key == "6":
        print("Secret door")
        break
```

Dans cet exemple, la fonction “break()” va terminer la boucle “while” sans exécuter aucun autre code quelle contient.

Il est également possible de sauter l’itération en cours avec la fonction “continue()”

```python
x = 0

while x < 5:
    x += 1
    if x == 3:
        continue

    print(x)

# 1, 2, 4, 5
```

Dans cet exemple, le nombre 3 ne sera jamais imprimé. La fonction “continue()” renvoie l’exécution du code à la prochaine itération sans exécuter le code restant du bloc.


### Boucle dans une String

Il est possible de faire une boucle sur tous les caractères d’une String. Voici un exemple :
```python
keycode = "abc123def"

for letter in keycode:
    print(letter)


#a
#b
#c
#1
#2
#3
#d
#e
#f
```


## Conclusion
C'est tout pour aujourd'hui, je publierai un nouvel article tous les deux jours environ. Pour être sûr de ne rien rater vous pouvez me suivre sur twitter : <a href="https://twitter.com/EricLeCodeur" class="twitter-follow-button" data-show-count="false">Suivre @EricLeCodeur</a><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>