Les programmes suivants permettent de saisir plusieurs nombres et d'afficher leur somme.
Dans un premier temps supposons qu'il faut additionner exactement 4 nombres, dans ce cas nous pouvons utiliser un boucle for pour réaliser cela :
Maintenant imaginons qu'on ne sache pas à l'avance la quantité de nombres à additionner, nous devons alors utiliser une boucle while et décider, par exemple, d'indiquer au programme la fin de la saisie en entrant la valeur 0.
L'instruction while contient un test, le bloc d'instructions de la boucle est exécuté tant que le résultat de ce test est true.
Pour bien comprendre le fonctionnement de ce dispositif, déroulez le diaporama :
Les nombres saisis seront 15, 112 et 0.
while(saisie!="0"):
saisie=raw_input("Entrez votre nombre ou 0 pour terminer")
somme=somme+float(saisie)
print "la somme vaut ",somme
Variable somme : 0
Variable saisie : chaîne de caractères vide
Au départ, la variable somme reçoit la valeur numérique 0 et la variable saisie reçoit une chaîne de caractères vide.
Lorsque l'instruction while est rencontrée, le test saisie!="0" est fait, comme saisie est une chaîne de caractères vide, le résultat du test est true et le bloc d'instructions de la boucle va être exécuté.
while(saisie!="0"):
saisie=raw_input("Entrez votre nombre ou 0 pour terminer")
somme=somme+float(saisie)
print "la somme vaut ",somme
Variable somme : 0
Variable saisie : "15"
La première instruction du bloc provoque l'affichage d'une boite de dialogue pour inviter l'utilisateur à entrer le premier nombre, 15 : la variable saisie reçoit la chaîne de caractères « 15 ».
while(saisie!="0"):
saisie=raw_input("Entrez votre nombre ou 0 pour terminer")
somme=somme+float(saisie)
print "la somme vaut ",somme
Variable somme : 15
Variable saisie : "15"
La deuxième instruction ajoute la valeur entrée par l'utilisateur au contenu de la variable somme. Comme la variable somme contenait initialement 0, elle contient maintenant 15.
Remarquez qu'on utilise float pour convertir la chaîne de caractères saisie en nombre.
while(saisie!="0"):
saisie=raw_input("Entrez votre nombre ou 0 pour terminer")
somme=somme+float(saisie)
print "la somme vaut ",somme
Variable somme : 15
Variable saisie : "15"
Le test saisie!="0" est fait, comme saisie contient « 15 », le résultat est true et les instructions du bloc vont être exécutées
while(saisie!="0"):
saisie=raw_input("Entrez votre nombre ou 0 pour terminer")
somme=somme+float(saisie)
print "la somme vaut ",somme
Variable somme : 127
Variable saisie : "112"
De nouveau l'utilisateur est invité à entrer un nombre soit 112 et la valeur est ajoutée à la somme 127.
while(saisie!="0"):
saisie=raw_input("Entrez votre nombre ou 0 pour terminer")
somme=somme+float(saisie)
print "la somme vaut ",somme
Variable somme : 127
Variable saisie : "112"
Le test saisie!="0" est fait, comme saisie contient « 112 », le résultat est true et les instructions du bloc vont être exécutées
while(saisie!="0"):
saisie=raw_input("Entrez votre nombre ou 0 pour terminer")
somme=somme+float(saisie)
print "la somme vaut ",somme
Variable somme : 127
Variable saisie : "0"
De nouveau l'utilisateur est invité à entrer un nombre soit 0 et la valeur est ajoutée à la somme 127.
while(saisie!="0"):
saisie=raw_input("Entrez votre nombre ou 0 pour terminer")
somme=somme+float(saisie)
print "la somme vaut ",somme
Variable somme : 127
Variable saisie : "0"
Le test saisie!="0" est fait, mais cette fois comme saisie contient la chaîne de caractères « 0 », le résultat est false et la boucle se termine.
Le programme affiche "la somme vaut 127".
Ecrire un programme qui donne le reste de la division d'un nombre entier par 7 en procédant par soustractions successives.
Ecrivez les instructions dans le cadre gris, et cliquez sur le bouton « Exécuter » en bas du cadre.
Si rien ne s'affiche, vous avez certainement fait une erreur de syntaxe.