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.