La boucle while répète un bloc d’instructions tant qu’une certaine condition est vraie. La condition s’appelle une condition d’arrêt.
tant que (condition) faire
série d’instructions / bloc d’instructions répétées/
fin tant que
L'exemple ci-dessous permet d'afficher plusieurs fois une chaîne de caractères
i = 0
while i < 5:
print("Ligne n°" + str(i))
i += 1
Exemple 1 : Comment afficher tous les nombres entiers pairs dans l'intervalle $]0, N]$ ?
Exemple 2 : Écrire un algorithme effectuant la multiplication de deux entiers positifs
Attention
Si la condition d’arrêt (terminaison) est mal conçue le programme poursuit indéfiniment la série d’instructions. Il ne sort jamais de la boucle.
La boucle for permet de répéter un bloc d'instructions un nombre déterminé de fois.
Pour i allant de 1 à N
série d’instructions / bloc d’instructions répétées/
fin pour
L'exemple ci-dessous permet d'afficher plusieurs fois une chaîne de caractères
for i in range(5):
print("Ligne n°" + str(i))
Exemple 1 : Comment afficher N fois la phrase : je ne suis pas un numero ?
On utilise ici pour la première fois la fonction range permettant de créer un itérateur. En quelque sorte un distributeur d'entiers consécutifs dans l'invalle $[0, N-1]$
Exemple 2 : Comment afficher les entiers dans l'intervalle $[0, N]$ ?
Exemple 3 : Comme effectuer la somme des entiers entiers entre 1 et N (inclus)?
mot = "abracadabra"
for elt in mot:
print(elt)
Comment compter le nombre de a contenu dans ce mot ?
Moyenne 1
Écrire une suite d'instructions permettant de faire la moyenne de vos notes. On commencera par demander à l'utilisateur le nombre de notes à saisir.
Moyenne 2
Même question pour un nombre inconnu de notes. La donnée d’un nombre négatif indique la fin de la saisie.
#Moyenne 1
nb_notes = int(raw_input("Combien de notes ? "))
somme = 0
for i in range(nb_notes):
somme += float(raw_input("note : "))
moyenne = somme / nb_notes
print(moyenne)
#Moyenne 2
somme = 0
note = float(raw_input("note : "))
compteur = 0
while note >= 0:
somme += note
compteur += 1
note = float(raw_input("note : "))
moyenne = somme / compteur
print(moyenne)
import time
print time.strftime("Version du "+'%d/%m/%y %H:%M',time.localtime())
Christophe Casseau mail : isncaju@gmail.com