[wiki: Instructions de contrôle] [#license ©]
If, tests et conditions
#!python
if a > b:
print('a>b')
elif a == b:
print('a==b')
else:
print('a<b')
>>> l = [ 0, 1, 2, 3 ]
>>> 2 in l, 4 in l
( True, False )
- Condition non vérifiée :
- False
- Collection vide
- Valeur numérique nulle
- None
- Condition vérifiée
- True
- Collection non vide
- Valeur numérique non nulle
- Opérateurs
- and, or , not
- <, <=, >, >=, ==, !=
- in, is
#!comment
Comme en C++, les les structures conditionnelles acceptent toutes sortes d'expressions parce que le type bool n'existait pas à l'origine.
While
#!python
a = 0
max = 10
while a < max:
if cherche(a):
print("chiffre",a)
break ;
a += 1
else:
print("pas de chiffre")
La clause else est éxecutée si while sort sur un échec de sa condition, et non sur un break.
#!comment
Pas de "do while".
For
- in doit être suivi d’une séquence ou d’un itérateur, fournis explicitement ou retournés par une fonction.
#!python
for i in ['a', 'b', 'c']:
print(i)
#!python
for i in range(10):
print(i)
- continue permet de passer directement à la valeur suivante.
#!python
for i in range(4):
if i == 2:
continue
print(i)
#!html
<pre style="margin-left:50px;border: 1px solid palegoldenrod;padding:10px;background-color:lightyellow">
0
1
3
</pre>
- break permet de sortir de la boucle.
#!python
for i in range(6):
if i == 4:
break
print(i)
#!html
<pre style="margin-left:50px;border: 1px solid palegoldenrod;padding:10px;background-color:lightyellow">
0
1
2
3
</pre>
- La clause else est éxecutée si for sort en fin d’itération, et non sur un break.
#!python
for i in range(4):
if i == 2:
continue
print(i)
else:
print('end')
#!html
<pre style="margin-left:50px;border: 1px solid palegoldenrod;padding:10px;background-color:lightyellow">
0
1
3
end
</pre>
- Très déconseillé de modifier la séquence sur laquelle on itère.
Exercices
1. Écrire une boucle qui calcule la somme des dix premiers carrés (c’est à dire 1² + 2² + … + 9²).
1. Affichez à l’écran les quinze premiers multiples d’un nombre que vous choisirez.
1. Écrire une boucle qui affiche tous les nombres divisibles par 3 et par 5 dans un intervalle que vous choisirez.
1. Calculer la longueur d’une chaine de caractères (sans utiliser la fonction len()).
1. Écrire une boucle qui permet de compter le nombre de voyelles dans une chaine de caractères.
1. Créer un programme qui doit faire deviner au joueur un nombre entre 1 et 100 tiré aléatoirement (on pensera à utiliser le module random). Après chaque entrée, on indiquera au joueur si le nombre est plus grand ou petit. On pourra envisager d’ajouter un compteur de tentatives.
#!comment
from random import randint
rand_number = randint(1, 100)
Références
© David Chamont, Laboratoire Leprince-Ringuet (LLR) / IN2P3 / CNRS, Ecole polytechnique / Université Paris-Saclaybr
© Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution – Partage dans les Mêmes Conditions 4.0 International [=#license]