Python - Boucles
Il faut ici reprendre le script de l'application 2, en s'arrangeant pour le faire "tourner" autant de fois que l'on veut de tables différentes ( ici, 10 ), tout en changeant à chaque fois la valeur du nombre dont
on veut la table : au lieu de i*3
, il faudrait pouvoir "écrire" automatiquement :
print(i*1)
pour la première tableprint(i*2)
pour la deuxième,print(i*3)
,La solution est de faire "tourner" la boucle de l'application 2 à l'intérieur d'une autre boucle : c'est celle-ci qui nous permettra de faire varier le nombre dont on veut la table...
On parle dans ce cas de deux boucles imbriquées; c'est une structure très commune en programmation, et pas toujours évidente à comprendre...Il faut notamment bien faire attention à l'indentation des instructions indiquant les blocs logiques de chacune des deux boucles.
i*j
nous donne la valeur à afficher; remarquer que cette instruction est indentée par rapport au for
de la boucle i, car elle doit être exécutée à chaque tour de celle-ci.for
de la
boucle j; autrement dit, elle appartient au même bloc logique que la boucle i...Là aussi on se sert de deux boules imbriquées, l'une pour les 4 semaines du mois, et la deuxième pour les 7 jours de la semaine.
Pour l'affichage du jour, on se sert d'une variable date, que l'on incrémente de 1 à chaque affichage.
On remarque que le retour à la ligne ( ligne 6 ) doit être placé en dehors de la boucle jour
: on ne change de ligne qu'en fin de semaine !...
Ici une seule boucle suffit, et c'est une condition sur la divisibilité de la variable jour par 7 ( on teste la valeur du reste de la division... ) qui permet de savoir quand revenir à la ligne...
else
à la place de la deuxième condition; en effet, il y aurait eu alors deux cas où l'affichage de "Trop petit !" se serait produit : le cas "normal" où entree < nombre, mais aussi celui où entree = nombre ( donc juste avant que l'on sorte de la boucle...)