Exercice 2/6

Soit la variable result et check déjà déclarée et check qui vaut false.

Dans le fichier "script.js" :

  • écrivez une structure while;
  • tant que check est false :
    • demandez à l'utilisateur un nombre entre 0 et 10 avec prompt() et parseInt();
    • affectez le résultat à result;
    • si result n'est pas correct, affectez false à check (voir l'astuce);
    • sinon affectez true à check pour sortir de la boucle;
  • cliquez sur "Soumettre ma réponse".

Leçon 2/6

Exercice de rappel dans lequel il faut écrire un script qui demande à l'utilisateur un nombre entre 0 et 10 tant qu'il n'a pas donné un nombre correct.

Pour vérifier que result est correct, il faut vérifier si c'est bien entre 0 et 10 inclus. Et que c'est bien un nombre avec isNaN(result).

isNaN() vérifie si un nombre est incorrect. En effet prompt() renvoie une chaîne de caractères, parseInt() permet de convertir la chaîne en nombre ("11" > 11), si la chaîne est vide alors parseInt() renverra NaN.

Commentaires les mieux notés

  • sere-97

    sere-97

    merci pzim-34 ca marche !

    le 22/11/2019 à 16h50

  • toine17-79

    toine17-79

    le code fonctionne avec while (check === false) et non while (!check)

    le 02/03/2020 à 16h10

  • sere-97

    sere-97

    merci pzim-34 ca marche !

    le 22/11/2019 à 16h50

  • anthonynezri-1

    anthonynezri-1

    merci, j'ai compris mon erreur, j'ai pu valider l'exercice

    le 05/03/2019 à 20h41

  • farid_khaber-55

    farid_khaber-55

    var check = false; var result; while(check)&#123; result = parseInt(prompt("Ecrire un nombre entre 0 et 10")); if(result < 0 || result > 10 || isNaN(result)) &#123; check = false; } else&#123; check = true;

    le 01/04/2020 à 11h16

20 Commentaires

  • severoyannick-19

    severoyannick-19

    Boucle infinie var check = false; var result; /* Votre boucle ici */ while(check === false)&#123; result = parseInt(prompt = ("Un nombre entre 0 et 10 :")); if (result < 0 || result > 10 || isNaN(result))&#123; check = false; } else&#123; check = true}

    le 12/07/2020 à 12h14

  • meriam

    meriam Admin

    Bonjour, changez la condition de la boucle par while(check) {}

    le 13/07/2020 à 12h24

  • Kulwch

    Kulwch

    Je dois rater quelque chose ? var check = false; var result; while (check === false)&#123;result = parseInt(prompt("Ecrire un nombre entre 0 et 10"));if ( result < 0 || result > 10 || isNaN(result))&#123;check = false;}else &#123;check = true;}}

    le 12/06/2020 à 16h49

  • meriam

    meriam Admin

    Bonjour, votre code est correct.

    le 12/06/2020 à 17h11

  • meriam

    meriam Admin

    une mise à jour en cours, merci pour votre compréhension.

    le 12/06/2020 à 17h11

  • philip.boudin-27

    philip.boudin-27

    while (check===false) &#123; result = parseInt(prompt("Ecrire un nombre entre 0 et 10")); if (isNaN(result) || result < 0 || result > 10) &#123; check = false; } else &#123; check = true; } } Cela ne fonctionne pas : "Votre if ne valide pas les bonnes valeurs". que me conseillez vous ?

    le 10/06/2020 à 10h44

  • meriam

    meriam Admin

    Votre code est correct

    le 10/06/2020 à 14h01

  • melyssa.auberton-21

    melyssa.auberton-21

    Est-ce que l'erreur de correction existe toujours ? Mon code a l'air bon mais je voulais être sûre...

    le 01/06/2020 à 13h26

  • meriam

    meriam Admin

    Bonjour, si result n'est pas correct, affectez false à check :if ( result < 0 || result >10 || isNaN(result)) { check = false; }

    le 01/06/2020 à 16h35

  • farid_khaber-55

    farid_khaber-55

    c'est bon j'ai trouvé l'erreur fallait mettre === pour une comparaison stricte

    le 01/04/2020 à 11h20

  • farid_khaber-55

    farid_khaber-55

    var check = false; var result; while(check)&#123; result = parseInt(prompt("Ecrire un nombre entre 0 et 10")); if(result < 0 || result > 10 || isNaN(result)) &#123; check = false; } else&#123; check = true;

    le 01/04/2020 à 11h16

  • toine17-79

    toine17-79

    le code fonctionne avec while (check === false) et non while (!check)

    le 02/03/2020 à 16h10

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Exercice rappel 2</title> <script src="script.js"></script> </head> <body> </body> </html>
var check = false; var result; /* Votre boucle ici */