Le programme ci-dessous affiche tous les nombres de 1 à 10 :
print 1
print 2
print 3
print 4
print 5
print 6
print 7
print 8
print 9
print 10
Nous voyons que nous avons écrit 10 fois la même instruction print
en énumérant les nombres de 1 à 10. Nous avons ainsi réalisé à la main une tâche répétitive qui peut très bien être automatisée en utilisant une structure de boucle :
for i in range(1,11):
print i
Nous avons utilisé la fonction range
.
La fonction range(a,b)
génère une liste qui commence à a
et termine à b-1
.
On peut aussi mettre un pas, range(a,b,c)
génère une liste qui commence à a
, puis a+c, a+2c ...
, tant que le résultat est inférieur à b
.
Essaye le code suivant (tu peux le modifier):
print "range(1,11)=",range(1,11)
print "range(1,11,3)=",range(1,11,3)
Nous avons utilisé une boucle for
, l'instruction comporte deux parties :
la commande for
, où i va prendre toutes les valeurs de la liste (ici range (1,11)
)
le bloc d'instructions à répéter respectant l'indentation (la tabulation).
Observez bien le fonctionnement de la structure de programmation for
en déroulant le deboggeur :
Utiliser la console pour écrire vos codes :
1. Ecrire un programme qui affiche tous les nombres pairs entre 0 et 20.
2. a. Ecrire un programme qui affiche la table de multiplications par 5, de 5 x 1 à 5 x 10.
b. Améliorer le programme précédent en donnant la possibilité à l'utilisateur de choisir la table qu'il veut afficher.