Eric Le Codeur
Posted on March 24, 2022
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 : Suivez @EricLeCodeur
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
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
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.
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 :
if x == 2 or x == 4:
print("x est égale à 2 ou 4")
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 :
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.
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:
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
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)
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.
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.
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
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
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 :
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
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 :
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()”
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()”
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 :
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 : Suivre @EricLeCodeur
Posted on March 24, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.