PCSI – IPT G. Monod
Boucles_tests.docx
1/2
TP Python Boucles et tests
L’informatique est destinée au traitement automatisé de données. Ce traitement consiste donc en partie à effectuer le même travail
sur des données différentes. Ces tâches répétitives sont confiées à des boucles.
Python – Boucles for et while
Syntaxe
Scratch Syntaxe Python
Lindentation délimite les boucles
Noter les deux points Exemples
instruction
for k in sequence :
instruction
instruction
sequence : intervalle range, liste, chaîne…
Exemples de sequences :
for k in range(10) :
for c in 'azertyuiop':
for e in ['a', 3,[1,2]]:
Exemple de boucle:
s = 0 # Initialisation de la variable s
for k in range(10) : # 10 itérations
s += 2*k+1 # incrémentation de s
print(s) # en dehors de la boucle
instruction
while expression :
instruction
instruction
Exemples d’expression :
while k != 0 :
while i >=2 and i**2 < 100 :
while b: # Sous-entendu : b == True
while not b: # while b == False:
while 1: # Boucle infinie !
Exemple de boucle
s = 0 # Initialisation de la variable s
k = 0 # Initialisation du compteur k !
while k < 10 : # 10 itérations
s += 2*k+1 # incrémentation de s
k += 1 # Incrémentation du compteur k !
print(s) # en dehors de la boucle
Choix du type de boucle
Le nombre d’itérations est connu boucle for (boucle inconditionnelle).
Le nombre d’itérations est inconnu boucle while (boucle conditionnelle).
Comparaison des boucles for et while
Boucle for Boucle while
Avantages
Simplicité (initialisation et incrémentation du
compteur automatiques).
Permet de balayer un intervalle, une liste ou une
chaîne pour appliquer un traitement à la totalité
des éléments du premier au dernier.
Permet d’effectuer une sélection ou un
traitement à partir d’un critère complexe (cf.
expression ci-dessus).
Inconvénients Certains traitements doivent s’interrompre dès
qu’une condition est satisfaite : préférer dans ce
cas la boucle while.
Ne pas oublier d’initialiser et d’incrémenter le
compteur.
Boucles imbriquées
Il est possible d’imbriquer les boucles mais plus le nombre de boucles imbriquées est grand plus le programme est lent (notion
de complexité : à venir…).
PCSI – IPT G. Monod
Boucles_tests.docx
2/2
Python – Tests
Syntaxe
Scratch Syntaxe Python
Lindentation délimite les boucles
Noter les deux points Exemple
instruction
if expression :
instruction
instruction
a = 9
b = 4
if a%b == 0:
message = “a est multiple de b”
print(message) # en dehors du test
instruction
if expression :
instruction
else :
instruction
instruction
a = 9
b = 4
if a%b == 0:
message = “a est multiple de b”
else:
message = “a n’est pas multiple de b”
print(message)
instruction
if expression :
instruction
elif expression :
instruction
else :
instruction
instruction
a = 9
b = 0
if b == 0:
message = “le diviseur ne peut pas être 0
elif a%b == 0:
message = “a est multiple de b”
else:
message = “a n’est pas multiple de b”
print(message)
Remarques
Il est possible d’imbriquer les boucles et les tests (souvent indispensable).
Le nombre de « elif » n’est pas limité.
Attention, la logique de tests imbriqués peut-être difficile à vérifier, préférer la structure if / elif / else dès que c’est possible
(les tests peuvent souvent être formulés de différentes façons, privilégier l’approche la plus simple qui minimise la
complexité des tests).
Utilisation de Pyzo : deux solutions pour interrompre(et redémarrer) un programme qui ne se termine pas…
Terminer = tuer le processus python en cours sans fermer le shell
Fermer = tuer le processus python en cours et fermer le shell
Redémarrer
Nouveau shell
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !