Python - Boucles
for i in range(20) :
print("Echo !")
for i in range(1, 11) : # i varie de 1 à 10 ( 11 exclus ! ) par pas de 1 ( sous-entendu )
print(i*3, end = ' ')
for i in range(20, -1, -1) : # i varie de 20 à 0 ( -1 exclus ! ) par pas de -1
print(i, end = ' ')
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.
for j in range(1,11) : # le compteur j contient le nombre dont on veut la table ( table de 1, table de 2,...)
for i in range(1,11): # la boucle i crée chacune des tables
print(i*j, end = ' ')
print()
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...
date = 1
for semaine in range( 1 , 5 ) : # 'semaine' varie de 1 à 4
for jour in range(1, 8): # 'jour' varie de 1 à 7
print(date, end =' ')
date += 1
print()
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 !...
for jour in range( 1 , 29 ) :
print(jour , end = ' ')
if ( jour % 7 == 0 ) :
print()
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...
from random import randrange
nombre = randrange( 1 , 101 )
entree = 0
while ( entree != nombre ) :
entree = int(input('Entrez votre proposition :'))
if ( entree > nombre ) :
print('Trop grand !')
if ( entree < nombre ) :
print('Trop petit !')
print('Bravo !')
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...)
max = int(input('Entrez la plus grande valeur :'))
min = int(input('Entrez la plus petite valeur :'))
while ( max % min != 0 ) :
reste = max % min
max = min
min = reste
print('Le PGCD est : ' , min )