Exercice 3/6
Dans cet exercice, l'objectif est de faire en sorte que la condition ne soit plus vérifiée à un moment donné afin de sortir de la boucle.
Dans le fichier "script.js"
:
- déclarez les variables
text
,result
etcheck
; text
doit être une chaîne vide;- créez une boucle
while
qui doit s'exécuter tant quecheck
est vérifiée; - la boucle doit demander à l'utilisateur de rentrer du texte (
prompt()
) et de le stocker dansresult
; - la boucle doit ensuite vérifier si
result
contient bien du texte (donc si elle est vérifiée); - si oui, il faut concaténer
result
àtext
; - sinon on change la valeur de
check
àfalse
, ainsi on sortira de la boucle; - attribuez à
check
un booléen avec la valeurtrue
(avant la boucle). - cliquez sur "Soumettre ma réponse".
Leçon 3/6
Dans l'exercice précédent vous avez utilisé la boucle while de la même manière qu'une boucle for, c'est-à-dire avec un itérateur.
MAIS il est tout à fait possible de sortir d'une boucle while
sans utiliser d'itérateur. Il suffit de s'arranger pour que la condition en entrée de boucle ne soit plus vérifiée (false
). Ce n'est pas le cas de la boucle for
qui utilise forcément un itérateur.
Pour sortir de la boucle, il suffit de cliquer sur annuler au moment où le prompt()
demande de rentrer du texte.
845 Commentaires
-
mitrachealessandra-11
Bonjour ! Je ne comprends pas le signe (+=), à quoi cela correspond ? Merci d'avancele 08/03/2023 à 16h15
-
Patricio M Admin
a = a + b OU sinon dans la notation raccourcie a+=b
le 09/03/2023 à 08h26
-
ericdav44-12
Bonsoir, je ne trouve pas mon erreur: Vous devez avoir 2 instructions dans le corps de votre boucle. Moncode est: var text = ""; var result; var check = true; while (check) { result=prompt("entrer le texte"); if(result) { text+=result; } else; { check=false; } }le 05/03/2023 à 23h45
-
Patricio M Admin
; en trop...
le 06/03/2023 à 07h45
-
fiarda33-67
bonjour je ne comprends pas ou est mon erreurle 17/11/2022 à 11h50
-
Patricio M Admin
ton code est correct
le 17/11/2022 à 14h26
-
emilie
Bonjour, pouvez vous m'aider "Vous devez avoir 2 instructions dans le corps de votre boucle." var text=""; var result; var check=true; while (check) { result=prompt('Entrer votre texte'); alert(result); if(result) {text+=result;} else {check=false;} }le 17/11/2022 à 09h54
-
Patricio M Admin
Ton code est correct, le bot ne valide pas, car tu as ecris ALERT et il ne demande pas cela...
le 17/11/2022 à 14h29
-
lfgvaal-48
Bonjour, je n'arrive pas à comprendre mon erreur, pouvez-vous m'aider s'il vous plait ? var text = ""; var result; var check = true; while(check) {; result = prompt("Entrez votre texte"); if(result) {; (text += result) } else {; check = false; } document.write(text); }le 17/11/2022 à 09h21
-
Patricio M Admin
ton code est correct. Indentes bien tes lignes, cela sera plus facle à te répérer
le 17/11/2022 à 14h29
-
mariejeannefalquerho-91
Bonjour, pouvez vous m'aider à copmpendre mon erreur svp ?le 10/11/2022 à 16h41
-
Patricio M Admin
Marie, ton dernier code est bon! Indente bien tes lignes avec les { correctement placées
le 15/11/2022 à 08h13
-
hgadessaud-13
Bonjour Je suis bloquée voici mon codevar text=''; var result; var check=true; while (check) { result=prompt('Entrer votre texte'); alert(result); if (result) { (text+=result); } else { (check=false); } }le 10/11/2022 à 09h04
-
Patricio M Admin
Enlèves les () de text+ = result et check=false, le reste est correct
le 15/11/2022 à 08h14
-
hcaliop110-90
var text = ""; var result; var check = true; while (check) { result = prompt("Texte"); alert(result); if(result) text += result; else check = false; } "Vous devez avoir 2 instructions dans le corps de votre boucle."le 31/10/2022 à 16h39
-
Patricio M Admin
Dernier code est correct :) Très bien
le 02/11/2022 à 10h10
-
jules.l06-10
Bonjour, je ne comprends pas pourquoi le code génère une boucle infiniele 26/09/2022 à 19h07
-
Patricio M Admin
if (result) TOUT seul, ce n'est pas la peine décrire TRUE car c'est déjà vrai...
le 27/09/2022 à 10h09
-
maddiismael-66
J'ai le message bravo mais je voulais avoir confirmation que c'est correct :le 16/09/2022 à 15h22
-
Patricio M Admin
Si tu as le message du bot, cela veut dire que c'est bon :)
le 19/09/2022 à 09h28
-
ben.97190.ml-59
bonjour , j'ai corriger mon erreur mais j'ai toujours ce message qui s'affche :Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ?le 25/08/2022 à 15h05
-
Patricio M Admin
Ben, le dernier code est correct, très bien! Tu as trouvé la solution.
le 26/08/2022 à 07h13
-
ben.97190.ml-59
Bonjour , je ne comprends pas mon erreur pouvez vous m'aidez svple 24/08/2022 à 14h36
-
Patricio M Admin
Ben, la logique est bonne, la synthaxe non. Après une condition IF, une boucle WHILE tu dois ouvrir une { au lieu d''ecrire un ;
le 25/08/2022 à 07h19
-
Bouss-14
Bonjour je ne comprend pas mon erreur merci.le 20/07/2022 à 09h58
-
meriam Admin
Bonjour, il faut pas ajouter un ';' aprés la condition de la structure if
le 20/07/2022 à 14h26
-
wasimdorboz-59
remplace { avec { ou bien pour arret le repetition de prompt ajoute break;le 05/07/2022 à 15h33
-
meriam Admin
Bonjour, il faut remplacer le code suivant { une accolade ouvrante {
le 05/07/2022 à 21h49
-
wasimdorboz-59
bonsoir je suis full stack et ce le correct code var text=""; var result; var check = true; while(check){ result=prompt("Entrez du text"); if (result.length>0){ (text+=result)} else{ check=false} } document.write(text);le 05/07/2022 à 15h31
-
meriam Admin
Bonjour, pour la condition de la structure if, il faut vérifier que result est égale à true ==> il(result){}
le 06/07/2022 à 14h48
Commentaires les mieux notés