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 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 en l’associant avec la fonction range()
for variable in range(valeurs_possibles):
instructions
- trouver le nombre de répétition effectué par la boucle FOR
- trouver ce qu’affichera la console
for i in range(5):
print("Phychiers")
Ce qu’affiche la console :
Phychiers
Phychiers
Phychiers
Phychiers
Phychiers
- trouver le nombre de répétition effectué par la boucle FOR
- trouver ce qu’affichera la console.
for i in range(5):
print(i)
Pour python, le premier nombre est toujours 0 par défaut. Le chiffre 1 n’est que le deuxième.
- trouver le nombre de répétition effectué par la boucle FOR
- trouver ce qu’affichera la console.
for i in range(7):
print(i)
Attention : il n’y a pas d’indentation (=décalage par rapport à la marge).
Ce qu’affiche la console :
6
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 ]
Usage pratique de la boucle FOR : On peut « parcourir » une liste ; c’est à dire sortir les valeurs consignées dans une liste.
liste = [ 0.1 , 0.2, 0.3 , 1 , 1.5, 2, 3.4 ]
print ( liste[2] )
Pour python, le premier nombre est toujours 0 par défaut. Le chiffre 1 n’est que le deuxième.
liste = [ 0.1 , 0.2, 0.3 , 1 , 1.5, 2, 3.4 ]
print ( liste[5] )
Exercice 6 : Essayer de trouver ce qu’affichera la console.
Rappel : si vous ne vous souvenez plus de l’utilité de la fonction len() ; rendez-vous sur la page web phychiers.fr/graphique-python-len qui explique comment elle fonctionne.
liste = [0.1 , 0.2, 0.3 , 1 , 1.5, 2, 3.4 ]
for i in range( len(liste) ):
print ( liste[i] )
Ce qu’affiche la console :
0.1
0.2
0.3
1
1.5
2
3.4
Ce code permet de sortir une par une TOUTES les valeurs d’une liste.
Travail noté n°3 : On peut aussi utiliser la fonction range() ainsi : range(valeur_min , valeur_max , écart )
Nous souhaitons créer les graduations pour un axe des abscisses d’un graphique. Nous voulons que les graduations aillent de 900 à 1000 et que leur écart soit de 10.
- Afficher dans la console la liste avec l’ensemble des graduations de l’axe des abscisses.
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
Regardons avec l’exemple simple ci-dessous la logique de la boucle WHILE.
Avant d’exécuter ce code avec votre logiciel python préféré (Edupython ou Spyder…), essayer de trouver ce qu’affichera la console.
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)
Exemple simple : Tenter de trouver ce qu’affichera la console suite à l’exécution de ce code. Attention : l’indentation pour la fonction print() a disparu : elle est sortie de la boucle.
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.
je fais mais debut en python et j’ai beaucoup appri
Bonjour Taka Jr. Merci du retour. N’hésite pas à m’indiquer des pistes d’amélioration pour le site si tu veux. Bon apprentissage.