Python est un langage de programmation très populaire dans les écoles et les entreprises. Comme tous les autres langages, il utilise des boucles qui permettent d’automatiser des tâches. Allier à la puissance des machines, des millions de calculs sont alors possibles en une seconde.

A voir dans ce cours
Autre cours à consulter
La condition IF ou Si
- SI 3 > 2 : ceci est vrai alors python exécutera les instructions.
- SI 2 > 3 : ceci est faux alors python ignorera les instructions.
Regardons avec l’exemple simple ci-dessous la logique de la condition IF.
Avant d’exécuter ce code avec votre logiciel python préféré (Edupython ou Spyder…), essayer de trouver ce qu’affichera la console.
# Déclaration des variables
x = 1 # On stocke le chiffre 1 avec la variable x
y = 3 # On stocke le chiffre 3 avec la variable y
if x > y:
print(x, " est supérieur à ", y)
else:
print(x, " est inférieur à ", y)
Ce qu’affiche la console : 1 est inférieur à 3
Explication – Lors de l’exécution, le logiciel va lire :
La 1ière ligne : Python ne prend pas en compte ce qui suit les # : ce sont des commentaires destinés aux développeurs.
2ème ligne : il stocke 1 avec x
3ème ligne : il stocke 3 avec y
4ème ligne : rien ne se passe.
5ème ligne, python va tester la condition : SI 1 > 3 alors on affichera dans la console « 1 est supérieur à 3 » ; ceci est faux. Donc python n’exécutera pas cette instruction.
Le programme va donc sauter cette condition et la ligne indentée (retrait de tabulation) pour passer à la suite.
else veut dire « sinon » OU « Si la (ou les) condition précédente est fausse alors j’exécute mes instructions ». Ici : afficher dans la console que « 1 est inférieur à 3 ».
Conseils à retenir lorsque nous écrivons une condition IF :
- Il faut que la ligne avec la condition se termine par deux points “:”
- Il faut que les instructions soient indentées (= retrait de tabulation)
- On peut aussi ajouter plusieurs « sinon » (elif, else) :
if condition:
instruction
elif condition:
instruction
else:
instruction
- Il est possible d’ajouter 2 conditions : if condition1 and condition2:
if condition1 and condition2:
instruction
else:
instruction
Exercice d’entrainement :
En vous inspirant du code précédent (=garder ce code et changer les variables ainsi que les textes à afficher) et des conseils, écrire le code respectant les points suivants :
- Choisissez une certaine température. Soit vous l’écrivez directement dans le code, soit vous demandez à l’utilisateur de rentrer une valeur de température (utilisation de la fonction input() ).
- Si la température est supérieure à 20°C : nous afficherons dans la console que nous pouvons sortir de chez nous en tenue d’été.
- Si la température est inférieure à 7°C : nous afficherons dans la console que nous sommes en hiver ou que nous devons porter un manteau.
- Sinon : nous afficherons dans la console que le temps est normal.
# On demande à l'utilisateur de rentrer une température
T = float( input("Quelle est la température ? ") )
if T > 20:
print ("Nous pouvons sortir en T-shirt")
elif T < 7:
print("Nous devons sortir en blouson")
else:
print("Temps normal")
Travail noté n°1 : Ecris le code qui permet :
- de demander l’âge d’une personne
- d’afficher dans la console si une personne est un enfant, ou un adolescent, ou une personne est un adulte
Travail noté n°1 bis :
Un cinéma pratique trois types de tarifs pour deux personnes :
- si les deux personnes sont mineures, elles payent 7€ chacune,
- si l’une seulement est mineure, elles payent un tarif de groupe de 15€,
- si les deux personnes sont majeures, elles payent 18 € en tout.
Écris un programme qui :
- Demande l’âge de chacune des personnes,
- Affiche dans la console le prix à payer.
La boucle While ou Tant que
En Python, la boucle WHILE permet de répéter des instructions plusieurs fois, tant qu’une condition est vraie
x = 1
while x < 5:
print(x)
x = x + 1
Ce qu’affiche la console :
1
2
3
4
Explication – Lors de l’exécution, le logiciel va lire :
La 1ière ligne : il stocke 1 avec x.
2ème ligne : rien
3ème ligne : python va commencer la boucle : tant que x < 5 (ce qui est vrai), j’exécute les instructions indentées.
4ème ligne : il affiche dans la console : 1 (car x a stocké 1)
5ème ligne : on va stocker une nouvelle valeur pour x (2 car 1+1).
Au bout des instructions indentées, on revient au début de la boucle while et on reteste la condition : 2 < 5 ? Vrai. On réexécute les instructions indentées. Etc…
Conseils à retenir lorsque nous écrivons une boucle WHILE :
- Il faut que la ligne WHILE se termine par deux points “:”
- Il faut que les instructions soient indentées (= retrait de tabulation)
x = 1
while x < 5:
x = x + 1
print(x)
Exercice d’entrainement :
Chaque année la consommation énergétique d’un data center est estimée augmentée de 8 %.
En vous inspirant du code précédent, écrire le programme qui permet de :
- Déterminer le nombre d’années nécessaires au doublement de la consommation énergétique de ce data center.
conso_année_1 = 1000 conso_double = conso_année_1 * 2 conso = conso_année_1 année = 0 while conso < conso_double: conso = conso + conso * 0.08 année = année + 1 # Cette ligne permet de compter les années print ("Avec une consommation annuelle de ", conso_année_1 , "watts", print ("Et une augmentation de 8%" ) print ("La consommation sera doublera au bout de ", année, " années.")
Travail noté n°2 :
Lorsque l’utilisateur saisit une donnée, il peut être utile de vérifier qu’elle est conforme à ce qu’on attend de lui.
- Proposer un programme qui demande à l’utilisateur de rentrer un nombre positif ; utiliser la fonction input().
- Compléter ce programme afin de demander à l’utilisateur de saisir un nouveau nombre si le nombre entré ne correspond pas à la demande.
- Modifier le programme précédent pour limiter la répétition à au plus 4 demandes successives.
- Rajouter un message d’arrêt si l’utilisateur « s’obstine » à saisir un nombre strictement négatif.
La boucle FOR
En Python, quand on connaît le nombre de répétition d’une boucle (ou itérations) à l’avance, la boucle FOR permet d’éviter d’écrire plusieurs fois les mêmes instructions. La syntaxe est la suivante :
for variable in valeurs_possibles:
instructions
Remarque : La fonction range() s’utilise souvent avec la boucle FOR. Elle permet de définir le nombre de fois qu’une boucle FOR va être répétée.
for i in range(5):
print(“Phychiers”)
Ce qu’affiche la console :
Phychiers
Phychiers
Phychiers
Phychiers
Phychiers
Exemple simple :
Avant d’exécuter ce code avec votre logiciel python préféré (Edupython ou Spyder…), essayer de trouver ce qu’affichera la console.
for i in range(5):
print(i)
Ce qu’affiche la console :
0
1
2
3
4
Remarque : pour python, le premier nombre est toujours 0. Le chiffre 1 n’est que le deuxième.
liste = [ ] # On crée une liste vide
for i in range(5):
liste.append(i)
print(liste)
Ce qu’affiche la console : [0, 1, 2, 3, 4]
Travail noté n°3 : Nous souhaitons créer les graduations pour l’axe des abscisses d’un graphique. Nous savons que les graduations vont de 900 à 1000 et que leur écart est de 10.
- Afficher dans la console la liste avec l’ensemble des graduations de l’axe des abscisses.
Aide : Pour y parvenir, il faut utiliser la fonction range() ainsi : range(valeur_min , valeur_max , écart )