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

  • Xavier_naude-98

    Bonsoir, je ne comprend pas pourquoi j'ai une erreur "Votre if ne valide pas les bonnes valeurs"

  • tibf83

    Bien que ce soit un peu contraire au but de l'exercice, on peut le valider en incrémentant "i" en fin de boucle...

  • mram Administrateur

    C'est un soucis de correction automatique.

  • fumey.claire

    Bonjour, Je ne trouve pas la solution, pouvez-vous me conseiller s'il vous plait ? Merci ...

187 Commentaires

  • tibf83

    tibf83

    Bien que ce soit un peu contraire au but de l'exercice, on peut le valider en incrémentant "i" en fin de boucle...

    le 25/09/2018 à 20h27

  • meriam

    meriam Administrateur

    Vous n'avez pas besoin d'une variable i, ni de l'incrémenter.

    le 05/10/2018 à 17h35

  • mram

    mram Administrateur

    C'est un soucis de correction automatique.

    le 21/05/2017 à 22h55

  • fumey.claire

    fumey.claire

    Bonjour, Je ne trouve pas la solution, pouvez-vous me conseiller s'il vous plait ? Merci ...

    le 17/12/2016 à 18h23

  • Marodheure

    Marodheure

    Ok merci

    le 22/05/2017 à 15h49

  • julien.malahel

    julien.malahel

    Bonjour, mon code semble fonctionner correctement mais l'exercice n'est pas validé, d'où vient l'erreure? var check; while (!check) { var result = parseInt(prompt("entrez un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { !check; } else { check = true; } }

    le 05/06/2017 à 11h51

  • v.redois

    v.redois

    "ERROR: SCRIPT EXECUTION TIMED OUT." Autre remarque : isNAN() ne fonctionne pas. Ca ne fonctionne qu'en utilisant isNaN()

    le 23/05/2016 à 00h29

  • Chris

    Chris

    Bizarrement l'exercice est validé si à la place des "||" on met des "&&" : if (isNaN(result) && result > 10 && result < 0) mais ce code ne veut plus rien dire lol

    le 29/11/2016 à 11h33

  • Alex

    Alex

    Bonjour, j'ai bien compris que la correction automatique de cet exercice ne fonctionne pas, aussi je passe à l'exercice suivant. Pouvez-vous tout de même valider (ou pas) mon code ? Le voici : var result; while (!check) { result = parseInt(prompt("donnez un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } }

    le 05/03/2017 à 17h04

  • mram

    mram Administrateur

    C'est bien isNaN() qu'il faut utiliser. La fonction isNAN() n'éxiste pas. L'énoncé a été mis à jour.

    le 23/05/2016 à 00h29

  • mram

    mram Administrateur

    Votre code est juste, ne tenez pas compte de l'erreur.

    le 18/12/2016 à 19h10

  • mram

    mram Administrateur

    Oui votre code est correct :)

    le 09/03/2017 à 00h37

  • Nathalie.v

    Nathalie.v

    Bonjour, Je ne comprends pas bien l'intérêt du "isNaN()" dans cet exercice. En effet, si result n'est pas un nombre (par exemple "truc"), il ne passe pas la condition if (result >= 0 && result <= 10) , non? Donc dans ce cas on refait la boucle. Puis, si j'écris, par exemple, par erreur 2k à la place de 2, le parseInt ne va retenir que le 2 donc je ne vois pas à quoi sert le isNaN() dans ce cas aussi. Si je ne mets rien en input, dans mon code, je dois recommencer jusqu'à ce que 0<=result<=10 donc pareil. Je ne trouve pas de cas où ça ne marche pas. Pouvez-vous m'éclairer sur l'utilité de isNaN() ? Merci.

    le 09/02/2017 à 11h55

  • mram

    mram Administrateur

    N'en tenez pas compte, cet exercice va être refait.

    le 30/11/2016 à 16h36

  • lisa.l.pernet

    lisa.l.pernet

    TypeError: Cannot read property 'message' of null --> Cet exercice a-t-il été corrigé ou mon code contient-il une erreur?

    le 24/01/2017 à 13h55

  • pascal-ds

    pascal-ds

    bonjour, je reviens sur cet exercice que je n'avais pas réussi. j'ai tapé un nouveau code. Apparemment le script fonctionne, tant que je n'ai pas saisi un chiffre entre 0 et 10 il repose la question. Je n'ai pas de plantage de boucle infinie. Sauf que je ne peux pas valider l'exercice, j'ai le message d'erreur timed out... Le programme bug ou c'est mon code qui ne va pas ?

    le 12/10/2016 à 11h02

  • cedruyne

    cedruyne

    Bonjour, je ne trouve pas mon erreur. Lorsque j’exécute le code JS j'ai bien le résultat attendu. var result, check = false; while (check === false) { result = parseInt(prompt("Saisir un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } }

    le 25/01/2017 à 16h24

  • mram

    mram Administrateur

    Comme j'ai dit précédemment, cet exercice bug, donc pas la peine de rester coincer dessus, passez simplement au suivant.

    le 14/02/2017 à 00h54

  • mram

    mram Administrateur

    @lisa.l.pernet : votre logique de code est bonne. La correction bug pour cet exercice en effet.

    le 27/01/2017 à 15h43

  • mram

    mram Administrateur

    @cedruyne : idem, votre logique de code est bonne. La correction bug pour cet exercice.

    le 27/01/2017 à 15h44

  • s.gaudefroy

    s.gaudefroy

    bonjour, "ERROR: SCRIPT EXECUTION TIMED OUT." sur cet exercice alors que mon code suit les instructions données, si erreur il y a, je ne la saisie pas et j'aimerais bien comprendre le pourquoi de ce message. merci

    le 08/09/2016 à 12h05

  • bsmeyers84

    bsmeyers84

    ERROR: SCRIPT EXECUTION TIMED OUT.

    le 08/09/2016 à 12h43

  • mram

    mram Administrateur

    Ligne 8 il faudrait mettre "check = false" . Et le code lignes 6 à 13 doit avoir une tabulation en plus.

    le 08/06/2017 à 11h31

  • mram

    mram Administrateur

    Comme j'ai dit, il y a à priori un bug, le timed out est du à une boucle infinie...

    le 16/10/2016 à 23h35

  • antho.lau

    antho.lau

    Bonsoir, pouvez-vous vérifier mon code ? J'ai le message d'erreur suivant "TYPEERROR: CANNOT READ PROPERTY 'MESSAGE' OF NULL". // L'exercice bug t-il toujours ? Si oui, comment fait t-on pour le valider ? Merci.

    le 31/01/2017 à 02h18

  • laurent.sama

    laurent.sama

    "ERROR: SCRIPT EXECUTION TIMED OUT." "ERROR: SCRIPT EXECUTION TIMED OUT."

    le 12/09/2016 à 05h33

  • laurent.sama

    laurent.sama

    TIME OUT var result=(result); var check=(false); while (check===false) { result = parseInt(prompt("Je vaux entre un et 10")); if (result < 0 || result > 10 || isNaN(result)) { check=false; } else { check=true; } }

    le 12/09/2016 à 06h42

  • jovidal

    jovidal

    Toujours pas corrigé ? Mon code est bon ?

    le 01/06/2017 à 11h14

  • mram

    mram Administrateur

    Oui c'est le même bug. Passez à l'exercice suivant c'est pas grave...

    le 31/01/2017 à 15h13

  • mram

    mram Administrateur

    Cet exercice va être revu pour éviter le "ERROR: SCRIPT EXECUTION TIMED OUT."

    le 13/09/2016 à 18h02

  • jenebakone

    jenebakone

    bonjour,pouvez vous m'indiquer mon erreur?Merci

    le 27/10/2016 à 09h54

  • willy.julan

    willy.julan

    voila se que j'ai fait chez moi cela fonctionne, j'ai pas voulu utiliser la solution pour trouver par moi même : var result; while ((check===false)) { result = parseInt(prompt("saisir un nombre de 0 - 10")); if (result > 10 ||result < 0 || isNaN(result)) { check=false; } else { check=true; } } mais j'ai un message d'erreur time out , j'ai regarde l'astuce ça ressemble à se que j'ai fait pourtant j'ai même fait la condition de cette manière while (!(sheck)).. pareil je vois pas se qui cause cela ça marche chez moi pourtant!

    le 23/07/2016 à 16h30

  • mram

    mram Administrateur

    Oui la logique est ok.

    le 25/07/2016 à 16h31

  • pascal-ds

    pascal-ds

    bonjour, la malédition du while continue... message d'erreur "time out". Pourtant quand j'exécute le scritpt cela semble bien fonctionner. Tant que je ne tape pas le chiffre demandé, Hal repose la question. Remarque : j'ai du déclarer la variable check, sans quoi le script ne s'exécute pas, ie : pas de fenetre prompt... j'ai essayé aussi avec if-else, il else-if... plus long et pas mieux.

    le 29/08/2016 à 10h36

  • mram

    mram Administrateur

    J'ai optimisé le script, il ne devrait plus y avoir de "time out". Par contre lignes 6 à 8 il manque une indentation pour la structure "if".

    le 29/08/2016 à 15h41

  • mram

    mram Administrateur

    Attention, votre structure if/else doit être dans la boucle while. (mais la correction n'a pas encore été corrigée).

    le 01/06/2017 à 16h36

  • pascal-ds

    pascal-ds

    bonjour, hélas, marche toujours pas. L'indentation concerne-t-elle également les {} ou seulement les conditions et instructions ?

    le 30/08/2016 à 08h39

  • mram

    mram Administrateur

    C'est presque bon, juste la ligne 7 est incorrecte (check = false). Mais attention cet exercice bug, donc ne tenez pas compte de l'erreur.

    le 29/10/2016 à 16h53

  • mram

    mram Administrateur

    Là votre indentation est correcte (tout ce qui est dans le while est indenté, tout ce qui est dans le if a une indentation en plus), c'est lisible, donc très bien de ce côté :)

    le 30/08/2016 à 13h40

  • mram

    mram Administrateur

    Par contre, votre code ne correspond pas à ce qui est demandé. Bien sûr il existe plusieurs façons de faire ce qui est demandé mais il est presque impossible de vérifier tous les cas possible. Donc il faut essayer de suivre les instructions même si il y a moyen de faire autrement (il y a de l'idée dans votre code). Regardez bien les étapes des instructions : il y a un SI et un SINON ça doit vous faire penser à une structure ...

    le 30/08/2016 à 13h45

  • danderhy3

    danderhy3

    var result; while (!check) { result = parseInt(prompt("donnez un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } } Mon code est il correct?

    le 19/05/2017 à 15h36

  • Marodheure

    Marodheure

    Bonjour, y a t'il encore une erreur dans mon code svp ? Ou c'est un soucis de correction automatique ?

    le 20/05/2017 à 00h23

  • comm

    comm Administrateur

    J'ai une boucle infinie

    le 31/03/2019 à 14h40

  • celine.bru.69-2

    celine.bru.69-2

    var result; while (!check) { result = parseInt(prompt("Entrez un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } }.

    le 29/04/2018 à 21h35

  • mram

    mram Administrateur

    Bonjour, je confirme que votre code est correct. Vous pouvez passer à la suite.

    le 04/05/2018 à 06h47

  • celine.bru.69-2

    celine.bru.69-2

    voici le code que j'avais fait et effectivement il est identique à votre réponse . C'est frustrant de ne pas pouvoir se rendre compte de son évolution avec tous les bugs des différents exercices . Merci beaucoup pour votre aide .

    le 29/04/2018 à 21h37

  • gippetvinardpriscillia-23

    gippetvinardpriscillia-23

    Pour me rassurer... ce sont des exercices qui seront revus pendant la formation ou déjà considérés comme acquis via le mois zéro ?

    le 22/07/2018 à 11h29

  • mram

    mram Administrateur

    En formation vous partez de 0, donc vous reverrez toutes les notions.

    Ces exercices ne sont là que pour vous donner un aperçu des langages qui seront vu et de ce qu'est la programmation web.

    le 01/08/2018 à 05h11

  • imane.tayeb-92

    imane.tayeb-92

    Problème de boucle infini... Pourriez-vous m'indiquer mon erreur?

    le 11/09/2018 à 12h06

  • mram

    mram Administrateur

    Votre code est correct, vous pouvez passer à la suite.

    le 16/09/2018 à 07h37

  • slye44

    slye44

    Impossible de soumettre, ça ne fonctionne pas :\

    le 03/04/2018 à 09h41

  • veronique.nollet

    veronique.nollet

    Bonjour, je n'ai pas de réponse à soumettre. mon code est-il correcte ? var result; while (!check) { result = parseInt(prompt("Entrez un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; }}

    le 17/04/2018 à 19h05

  • mram

    mram Administrateur

    Bonjour, oui presque bon mais il manque des accolades dans la condition.

    le 18/04/2018 à 05h11

  • nathalie.chenparis

    nathalie.chenparis

    Bonjour, je n'arrive pas a Soumettre du coup je pense que mon code n'est pas bon et ne vois pas mon erreur, j'ai relus l’énoncé plusieurs fois pour voir si il est cohérent à mon code mais je ne vois toujours pas où est le problème

    le 14/05/2018 à 12h12

  • mram

    mram Administrateur

    Bonjour, dans parseInt(), pas besoin de mettre "result = ". Et dans le "if" il ne faut pas de ; à la fin de la condition.

    le 18/05/2018 à 05h09

  • armand1807

    armand1807

    marche toujours pas... pourquoi il faut mettre un ! avant check ?? l'exercice dit tant check est false alors donner un nombre ect... si on met ce ! le check passe a true alors.. du coup ça marche plus fin bref je nage la !

    le 11/08/2017 à 13h04

  • mram

    mram Administrateur

    Bonjour, non le "!" est un raccourci équivalent à "check == false" . On vérifie donc que la variable est considérée comme "false" . Votre dernière version du code est presque bonne : il faut juste faire attention à l'indentation.

    le 16/08/2017 à 14h28

  • irene.xifra

    irene.xifra

    Mon code: var result; while (!check) { result=parseInt(prompt("entrez un numero entre 0 et 10")); if (result<0 || result>10 || isNaN(result)) { check=false; } else { check=true; } } me donne l'erreur: "avez-vous bien converti le résultat de prompt() avec parseInt() et affecté le résultat à "result" ?" Comment faire svp?

    le 13/11/2017 à 15h00

  • mram

    mram Administrateur

    Bonjour, mettez bien les accolades { à la ligne. Il faut qu'elles soient alignées avec leur binôme } . Et mettez des espaces autour des signes > <

    le 16/11/2017 à 17h26

  • veronique.nollet

    veronique.nollet

    Bonjour, je n'arrive pas à valider mon script revu. var result; while (!check) { result = parseInt(prompt("Entrez un nombre entre 0 et 10")); } if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; }

    le 14/05/2018 à 18h16

  • mram

    mram Administrateur

    Bonjour, il faut mettre la condition dans la boucle ...

    le 18/05/2018 à 05h30

  • jnicolleau-87

    jnicolleau-87

    Bonjour, impossible de soumettre ma réponse, mon code est-il correct ?

    le 03/05/2018 à 17h43

  • mram

    mram Administrateur

    Bonjour, je ne peux pas vous dire car je ne vois plus le code utilisateur sur cet exercice depuis plusieurs jours. Mettez le code en commentaire et je vous répondrai.

    le 04/05/2018 à 07h52

  • ambre.naude

    ambre.naude

    Bonjour, mon code est il correct? Erreur(s) : Avez-vous bien écrit la structure if else ? Merci

    le 13/02/2018 à 14h52

  • mram

    mram Administrateur

    Bonjour, n'oubliez pas d'indenter votre code à l'intérieur des accolades.

    le 15/02/2018 à 23h47

  • nsanvarela-98

    nsanvarela-98

    Bonjour, je ne comprend pas d'où vient l'erreur : var result; while (check) { result = prompt(parseInt("Entrez un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } }

    le 08/06/2018 à 19h49

  • mram

    mram Administrateur

    Bonjour, votre code est correct. Ne tenez pas compte du message ici.

    le 13/06/2018 à 04h24

  • YD.

    YD.

    Bonjour mon code semble juste mais ne fonctionne pas et j'ai toujours un message d'erreur pourquoi ???

    le 13/10/2017 à 13h55

  • mram

    mram Administrateur

    Bonjour, cela vient peut-être de la ligne vide (donc inutile) après "check = true". Le reste de votre code est correct.

    le 18/10/2017 à 23h16

  • arshavin.erding-97

    arshavin.erding-97

    bonjour la correction me dit que j'ai un boucle infini pouvez m'aider s'il vous plait? voici mon code : var check = false; var result; while (!check) { result = parseInt(prompt("entrez un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } }

    le 07/08/2018 à 12h58

  • mram

    mram Administrateur

    Bonjour, votre code est correct, ne tenez pas compte du message.

    le 13/08/2018 à 03h56

  • ts.fabius-98

    ts.fabius-98

    Bonjour, svp pouvez regarder mon code et me dire où est le problème..j'ai le msg "Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ?"

    le 13/09/2018 à 14h26

  • mram

    mram Administrateur

    Bonjour, à part l'indentation qui pourrait être mieux, oui votre code est correct.

    le 15/09/2018 à 07h52

  • severine.74

    severine.74

    @mram merci!

    le 12/03/2018 à 08h34

  • ts.fabius-98

    ts.fabius-98

    et si il ne faut pas tenir compte de l'erreur, le pourcentage de réussite à la fin ne correspondrait alors pas...ou alors je me trompes?

    le 13/09/2018 à 14h27

  • mram

    mram Administrateur

    Oui il ne correspond pas, mais ce n'est pas très grave. Les % sont là pour donner une idée de votre progression.

    Nous savons que quelques exercices bug, on en tient compte.

    le 15/09/2018 à 07h51

  • jnicolleau-87

    jnicolleau-87

    Bonjour mram voilà mon code var result; while (check === false) { result = parseInt(prompt("Ecrivez un nombre en 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } }

    le 29/05/2018 à 13h30

  • mram

    mram Administrateur

    Bonjour, votre code est bien correct.

    le 02/06/2018 à 04h31

  • mram

    mram Administrateur

    Mais il y a moyen de faire plus simple que "check === false".

    le 02/06/2018 à 04h32

  • amelie.chervier

    amelie.chervier

    Bonjour, je reçois le message d'erreur "Avez-vous bien écrit la structure if else ?". Je ne comprend pas pourquoi ... Mon code : var result; while (!check) { result = parseInt(prompt("Entrer un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check=false; } else { check=true; } }

    le 27/11/2017 à 15h46

  • mram

    mram Administrateur

    Bonjour, les accolades de la structure conditionnelle doivent être alignées avec les mots-clés "if / else"

    le 28/11/2017 à 14h11

  • triplaxs

    triplaxs

    Bonjour pouvez me dire où je me trompe merci d'avance;

    le 14/08/2017 à 14h29

  • mram

    mram Administrateur

    Bonjour, le code est juste mais il doit y avoir des espaces en trop en fin de ligne, notamment après les accolades.

    le 17/08/2017 à 15h41

  • alexismoquet

    alexismoquet

    Bjr, le code marche avec la console mais je ne peux pas valider. Help please.

    le 16/10/2017 à 13h35

  • mram

    mram Administrateur

    Bonjour, les lignes 6 et 8 à 11 doivent avoir une tabulation en plus.

    le 19/10/2017 à 00h40

  • Joany

    Joany

    ces bugs sont super pénibles et perturbent les apprentissages !!!!

    le 12/10/2018 à 11h57

  • meriam

    meriam Administrateur

    Bonjour, évitez les espaces inutiles; pas d'espace avant et aprés la fonction prompt(). Indentez votre code;

    le 12/10/2018 à 12h37

  • maxime.orengo

    maxime.orengo

    Helllp !!!

    le 16/10/2017 à 14h34

  • mram

    mram Administrateur

    Bonjour, essayez en mettant "check = false" à la place de "!check" .

    le 19/10/2017 à 00h46

  • mainroal-83

    mainroal-83

    Le code ne réagit pas à la validation ! SOS ...

    le 12/03/2018 à 18h02

  • mram

    mram Administrateur

    Bonjour, votre code est correct. Ne tenez pas compte du message ici.

    le 16/03/2018 à 04h44

  • celine.bru.69-2

    celine.bru.69-2

    bonjour, décidément les boucles fonctionnent mal . Impossible de vérifier si mon code est juste . Lorsque je clique sur soumettre rien ne se passe . Est-ce que mon code est juste?

    le 18/04/2018 à 18h30

  • mram

    mram Administrateur

    Bonjour, alors je ne pourrai pas vous dire, dans l'historique je ne vois pas votre code. Vous avez fait des tentatives ?

    le 23/04/2018 à 03h34

  • Lexo

    Lexo

    impossible de valider var result; while (!check) { result = parseInt(prompt("Entrez un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } }

    le 11/06/2018 à 17h43

  • mram

    mram Administrateur

    Bonjour, ne tenez pas compte de l'erreur ici, votre code est correct.

    le 19/06/2018 à 04h17

  • patrice-w-36

    patrice-w-36

    Bonjour, je n'arrive pas à soumettre ma réponse. Quand je clique il ne se passe rien. Pouvez vous me dire si mon code est correct var result; while (!check) { result = parseInt(prompt("Entrez un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } }

    le 11/06/2018 à 22h51

  • mram

    mram Administrateur

    Bonjour, vous oubliez de déclarer "result" et la condition dans while n'est pas la bonne.

    le 19/06/2018 à 04h21

  • David

    David

    Je ne comprend pas mon erreur ! ..

    le 10/08/2018 à 21h00

  • mram

    mram Administrateur

    Quel est votre message d'erreur svp ? Ca sera plus facile pour vous aider.

    le 17/08/2018 à 05h47

  • mg-27

    mg-27

    je ne comprends pas à quoi sert isNaN dans cet exercice ?

    le 21/12/2018 à 10h29

  • meriam

    meriam Administrateur

    Bonjour, pour vérifier si result est un nombre ou non, vous pouvez utilisez la méthode isNaN (is Not a Number) , pour l'instruction if utilisez l'opérateur logique || (OU) et pas && (ET).

    le 21/12/2018 à 10h40

  • aubert.stanislas.axel-36

    aubert.stanislas.axel-36

    Bonjour je ne peux pas soumettre ma réponse ! puis-je avoir de l'aide ?

    le 19/04/2018 à 15h36

  • mram

    mram Administrateur

    Bonjour, votre code est correct. Vous pouvez passer à la suite.

    le 23/04/2018 à 03h55

  • mariegade

    mariegade

    Bonjour, je n'arrive pas à valider mon code; d'où viens mon erreur? var result; while (!check) { result = parseInt(prompt("Donnez un chiffre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } } Merci bcp

    le 02/11/2017 à 15h23

  • mram

    mram Administrateur

    Bonjour, il y a une tabulation en trop devant la structure if / else .

    le 04/11/2017 à 00h05

  • baptistefort5-93

    baptistefort5-93

    Bonjour, comme pou certains, impossible de soumettre. Pourriez-vous vérifier mon code s'il vous plaît ?

    le 15/03/2018 à 18h41

  • mram

    mram Administrateur

    Bonjour, je ne vois pas votre code. Vous avez fait plusieurs essais (soumission) ?

    le 16/03/2018 à 05h17

  • nacim_H

    nacim_H

    Bonjour, quand je soumet ma réponse j'obtiens Erreur(s) : Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ?

    le 13/08/2018 à 02h33

  • mram

    mram Administrateur

    Ce doit être un bug, car votre code est correct.

    le 17/08/2018 à 06h01

  • thibaudfabvre-9

    thibaudfabvre-9

    Bonjour, j'ai le même soucis : var result; while (!check) { result = parseInt (prompt("")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } } check = false; } else { check = true; } }

    le 25/08/2018 à 22h31

  • mram

    mram Administrateur

    Bonjour, je confirme que votre code est correct.

    le 05/09/2018 à 19h38

  • bot666

    bot666

    help je pense que mon code est bon

    le 06/01/2018 à 23h18

  • mram

    mram Administrateur

    Bonjour, ajoutez des autour du signe = dans le "if" et le "else".

    le 12/01/2018 à 00h59

  • armand1807

    armand1807

    j'ai réussi a le valider graçe aux tabulations que j'ai rajouter mais je ne comprend pas pourquoi il faut le ! avant check ??

    le 16/08/2017 à 12h54

  • mram

    mram Administrateur

    Avec "if(...)" on vérifie automatiquement que l'expression qui est testée est considérée comme "true" (vrai). Si on veut tester le contraire (que l'expression est considérée comme "false") on met "!" devant. Car "!" est une négation à traduire en français par "... n'est pas..." . Dans notre cas on veut vérifier que la valeur n'est pas "vrai" (donc qu'elle est "fausse") .

    le 16/08/2017 à 15h08

  • veronique.nollet

    veronique.nollet

    Bonjour, désolée mais je ne vois pas où il me manque des accolades dans ma condition.

    le 07/05/2018 à 10h18

  • mram

    mram Administrateur

    Bonjour, attention à l'indentation du code. Notamment dans la boucle "while".

    le 09/05/2018 à 06h28

  • AnthonyFoxRoze

    AnthonyFoxRoze

    Bonjour, impossible de valider mon exercice et en connaitre le résultat. Est-ce correct ?

    le 07/05/2018 à 14h45

  • mram

    mram Administrateur

    Bonjour, oui je confirme que votre code est correct :)

    le 09/05/2018 à 06h33

  • duboisdelphine-16

    duboisdelphine-16

    je ne comprends pas où j'ai mal codé : var result while (!check) { result = parseInt(prompt("Entrez un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } }

    le 26/03/2018 à 08h45

  • mram

    mram Administrateur

    Bonjour, votre code est correct, mais il y a moyen de faire plus simple pour la condition dans le "while".

    le 28/03/2018 à 06h09

  • khd69-20

    khd69-20

    bonjour, j ai le message d erreur suivant : Avez-vous bien écrit la structure de la boucle "while" pour vérifier "check" ? pourtant mon code a l air correct. Et quand je met while (!check) ça me met comme erreur : Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ?, pourtant vous dite a d autre que leur code est correct.

    le 26/06/2018 à 02h13

  • mram

    mram Administrateur

    Bonjour, votre code est correct aussi. C'est l'exercice qui bug ici.

    le 28/06/2018 à 03h45

  • belespoir38

    belespoir38

    je comprends l'énoncé ainsi : la valeur de check=false. Tant que check=false demander à l'utilisateur de choisir un nombre entre 0 et 10. Si le chiffre choisit n'est pas dans cet interval, il faut recommencer, sinon arrêter. Alors pourquoi ecrire tant que check n'est pas faux (!check) ?

    le 12/01/2018 à 22h15

  • mram

    mram Administrateur

    Bonjour, "while (!check)" signifie "tant que check est faux", et non l'inverse. Et il faut mettre la condition if / else dans la boucle while et non à l'extérieur.

    le 16/01/2018 à 19h37

  • aurelienrousselotpublique-36

    aurelienrousselotpublique-36

    Je suppose que vous pouvez voir mon code ? Si oui, je n'arrive pas à valider ? des idées. Merci !

    le 20/05/2018 à 01h28

  • mram

    mram Administrateur

    Bonjour, prompt() était bien écrite avant, là ce n'est plus bon. Le reste du code est correct. Si vous ne pouvez pas valider passez à la suite ce n'est pas gênant.

    le 23/05/2018 à 07h07

  • nathalie.chenparis

    nathalie.chenparis

    Bonjour, après avoir corrigé par rapport à vos conseille, je ne peux pas "Soumettre". var result; while (!check) { parseInt(prompt("Entre un nombre entre 0 et 10")); if (result <= 0 || result >= 10 || isNaN(result)) { check = false; } else { check = true; } }

    le 20/05/2018 à 16h40

  • mram

    mram Administrateur

    Bonjour, attention aux signes de comparaison, ils sont mal écrit.

    le 23/05/2018 à 07h16

  • bernardraphael13

    bernardraphael13

    Bonjour pouvez me dire où je me trompe dans la boucle while merci d'avance;

    le 30/06/2017 à 14h41

  • mram

    mram Administrateur

    Bonjour, mettez les accolades 8, 9 , 10 et 11 sur une ligne à part (à la ligne donc).

    le 07/07/2017 à 10h53

  • dilmi.chourouk

    dilmi.chourouk

    le plus énigmatique c'est de savoir s'il manque des espaces ou non

    le 24/01/2018 à 15h27

  • mram

    mram Administrateur

    Bonjour, en effet, il est prévu que ce genre d'erreurs qui n'en sont pas vraiment ne soient plus en frein à la validation des exercices, mais qu'il y ait juste un avertissement comme quoi le code pourrait être mieux écrit.

    le 24/01/2018 à 17h05

  • doucette.manon

    doucette.manon

    Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ? Mon code me semble correct ...

    le 06/09/2018 à 10h21

  • mram

    mram Administrateur

    Votre code est correct, mais l'indentation pourrait être optimisée.

    Ne tenez pas compte de l'erreur ici.

    le 10/09/2018 à 04h06

  • gaetangerard-37

    gaetangerard-37

    Bonjour est-ce que mon code est correct ? je viens de l'essayer dans mon editeur en déclarant la var check = false comme sur l'énoncer et lorsque je fait un console log du check j'obtient le résultat escompter s'est à dire (true si le résultat est compris entre 0 et 10) mais chaque fois que je valide je peux pas soumettre le code !!! problème technique ou "erreur d'indentation" ?

    le 21/05/2018 à 21h24

  • mram

    mram Administrateur

    Bonjour, oui je confirme que votre code est correct :) Souci technique ici.

    le 23/05/2018 à 07h28

  • ocoffineau-36

    ocoffineau-36

    Bonjour, le bouton Soumettre ne fonctionne pas. Cela vient-il de mon code ?

    le 16/03/2018 à 15h47

  • mram

    mram Administrateur

    Bonjour, non ça vient de la correction. Votre code est correct.

    le 19/03/2018 à 04h37

  • nathalie.2080

    nathalie.2080

    bonsoir,de l'aide svp.merci.

    le 27/12/2017 à 17h19

  • mram

    mram Administrateur

    Bonjour, la dernière accolade doit être alignée avec la première. Et vous avez une ligne vide inutile dans la condition "if".

    le 30/12/2017 à 12h40

  • makamgeorges-42

    makamgeorges-42

    Bonjour, j'ai l'erreur : "Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ?", mais le code a l'air de fonctionner en testant, pouvez voir si le code est bon?

    le 29/10/2018 à 17h09

  • meriam

    meriam Administrateur

    Pas besoin de déclarer la variable check parce qu'elle est déja déclaré, pour la condition vous avez écrit if (result < 0 || result > 10 || isNaN(result)) alors que vous devez écrire :if (result < 0 || result > 10 && isNaN(result)).

    le 30/10/2018 à 15h37

  • baptistefort5-93

    baptistefort5-93

    Mram : Oui, j'ai même tenté depuis deux ordinateurs différents.

    le 16/03/2018 à 17h51

  • mram

    mram Administrateur

    Ok, dans ce cas passez à l'exercice suivant et ne perdez pas trop de temps. Vous pourrez y revenir par la suite de toute façon.

    le 19/03/2018 à 04h45

  • chandosnay.nicolas-32

    chandosnay.nicolas-32

    var result; while (!check) { result = parseInt(prompt("Entrez un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } }

    le 02/06/2018 à 11h17

  • mram

    mram Administrateur

    Bonjour, votre code est correct. Ne tenez pas compte du message ici.

    le 07/06/2018 à 04h23

  • oshaoner

    oshaoner

    Mon code semble correct et je ne vois pas mon erreur

    le 17/12/2017 à 17h13

  • mram

    mram Administrateur

    Bonjour, même remarque que pour l'exercice avec "break" . Tout votre code doit se trouver dans la boucle.

    le 23/12/2017 à 12h41

  • vahan.barsamian

    vahan.barsamian

    mon code fonctionne,les tabulations semblent avoir été respectées....problème de if dans la validations mon code:var result; var check = false; while (!check) { result = parseInt(prompt("Veuillez saisir un chiffre entre 0 et 10")); if (isNaN(result) || result < 0 || result > 10) { check = false; } else { check = true; } }

    le 26/08/2017 à 08h18

  • mram

    mram Administrateur

    Bonjour, non l'indentation n'était pas optimale. Mais dans votre dernier essai du 26/08 oui.

    le 30/08/2017 à 13h27

  • Yz

    Yz

    Bonjour, je ne comprends pas ou se trouve mon erreur, ça m'affiche "Avez-vous bien écrit la structure de la boucle "while" pour vérifier "check" ?", merci.

    le 06/09/2017 à 19h04

  • mram

    mram Administrateur

    Bonjour, votre code daté du 06/09 semblait correct à part le "!" ligne 2 qui doit être collé à la variable à laquelle il s'applique. Je vois que vous l'avez modifié aujourd'hui. Est-ce que ça passe maintenant ?

    le 12/09/2017 à 15h39

  • BisonVoyageur

    BisonVoyageur

    Bonjour, j'ai le message d'erreur "Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ?" Mon code : var result; while (!check) { result = parseInt(prompt("entrer un nombre entre 0 et 10")); if (isNaN(result) || result < 0 || result >10) { check = false; } else { check = true; } } Je ne vois pas où est l'erreur.

    le 13/08/2018 à 17h10

  • mram

    mram Administrateur

    Bonjour, il doit s'agir d'un bug. Car votre code est correct.

    le 17/08/2018 à 06h17

  • Ajell

    Ajell

    Avez-vous bien écrit la structure if else ?

    le 14/01/2018 à 17h44

  • mram

    mram Administrateur

    Bonjour, attention à l'écriture du code et son indentation. Chaque accolade doit être sur une ligne à part.

    le 17/01/2018 à 19h39

  • F-Lepetit-53

    F-Lepetit-53

    Bonjour, lorsque je soumet je n'ai aucun message, ni de validation, ni d'erreur. Merci

    le 18/03/2018 à 23h39

  • mram

    mram Administrateur

    Bonjour, pourquoi mettre deux boucles while ? Une seule suffit.

    le 19/03/2018 à 05h23

  • olivierbretaud-52

    olivierbretaud-52

    Bonjour, je n'arrive pas à soumettre mon code. Est-ce que celui-ci est correct?

    le 09/05/2018 à 12h13

  • mram

    mram Administrateur

    Bonjour, oui votre code est correct :)

    le 14/05/2018 à 02h43

  • corentin.roger

    corentin.roger

    Bonjour, impossible de soumettre mon code, je clique et rien ne se passe.

    le 05/03/2018 à 08h49

  • mram

    mram Administrateur

    Bonjour, avez-vous un message d'erreur au moins ?

    le 08/03/2018 à 22h40

  • DuckPixl

    DuckPixl

    help! je ne comprends pas mon erreur :var check = false; var result; while (!check) {result = parseInt(prompt("Ecrivez un nombre entre 0 et 10")); } if (isNaN(result) || result<0 || result>10) {check = false;} else {check = true;}

    le 28/06/2018 à 16h50

  • mram

    mram Administrateur

    Attention dans votre dernier essai :

    > result < 0 && result > 10

    result ne peut pas être à la fois inférieur à 0 et supérieur à 10.

    le 05/07/2018 à 04h10

  • evelyne.mazars-64

    evelyne.mazars-64

    Bonjour, tout comme BisonVoyageur, j'ai le message d'erreur "Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ?". Je ne vois pas mon erreur. Après relecture attentive et comparaison avec le code de mon/ma camarade, je pense que mon code est bon. Pouvez-vous me le confirmer ?

    le 29/08/2018 à 10h22

  • mram

    mram Administrateur

    Bonjour, oui votre code est correct.

    le 06/09/2018 à 06h01

  • lolululo-22

    lolululo-22

    Bonjour, impossible de valider mon exercice rien ne se passe lorsque j'essaie de cliquer sur "Soumettre" mon exercice.

    le 05/06/2018 à 19h18

  • mram

    mram Administrateur

    Bonjour, je ne vois pas votre code. Pouvez-vous le copier / coller ici ?

    le 07/06/2018 à 05h00

  • ricoarnaud13

    ricoarnaud13

    var result; while (!check) {result = parseInt(pompt("Entrez un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)){check = false;}else{check = true; } } Je n'arrive pas à valider l'exercice. Pouvez vous m'aider svp.

    le 20/11/2017 à 22h48

  • mram

    mram Administrateur

    Bonjour, c'est la fonction prompt() qui était mal écrite. Pas évident à voir en effet.

    le 22/11/2017 à 01h16

  • aureliewagner.v-49

    aureliewagner.v-49

    Bonjour, impossible de régler mon problème seule ! Pouvez vous m'éclairer ? merci !

    le 01/08/2018 à 11h58

  • mram

    mram Administrateur

    Bonjour, votre code est correct. C'est la correction qui bug ici.

    le 05/08/2018 à 00h09

  • severine.74

    severine.74

    bonjour, je n'arrive pas à valider l'exercice. Lorsque je fais "soumettre" rien ne se passe je n'ai aucun message qui s'affiche...merci d'avance de votre aide

    le 06/03/2018 à 09h57

  • mram

    mram Administrateur

    Bonjour, passez à l'exercice suivant. Je confirme que votre code est correct.

    le 12/03/2018 à 00h08

  • ma.nicolas-46

    ma.nicolas-46

    Bonjour, même erreur que khd69-20, "Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ?" Pouvez-vous jeter un coup d'oeil et me dire si mon code est bon ? Je passe à la suite pour le moment. Merci

    le 29/06/2018 à 11h43

  • mram

    mram Administrateur

    Bonjour, même si la ligne 3 pourrait être simplifiée, le code est correct.

    le 05/07/2018 à 04h45

  • Rae

    Rae

    Bonjour je ne peut pas soumettre ma réponse pouvez m'aider

    le 28/04/2018 à 13h09

  • mram

    mram Administrateur

    Bonjour, passez à l'exercice suivant dans ce cas.

    le 04/05/2018 à 06h42

  • lj.d

    lj.d

    Bonsoir, est-il possible de savoir si mon code est correct ? Merci pour votre réponse.

    le 10/05/2018 à 18h16

  • mram

    mram Administrateur

    Bonjour, il est presque bon. A la fin pas besoin de mettre ! devant "check".

    le 14/05/2018 à 03h25

  • danderhy3

    danderhy3

    var result; while (!check) { result = parseInt(prompt("donnez un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } } Quel est mon erreur svp

    le 07/07/2017 à 17h47

  • mram

    mram Administrateur

    Le code lignes 6 à 12 doit avoir une tabulation en plus. Sinon le code est correct.

    le 10/07/2017 à 18h04

  • nathalie.chenparis

    nathalie.chenparis

    Decidement je ne vais pas y arrivé. Pour le coup je n'arrive pas a Soumettre : var result; while (!check) { parseInt(prompt("Entre un nombre entre 0 et 10")); if (result < 0 || result > 10 || isNaN(result)) { check = false; } else { check = true; } }

    le 23/05/2018 à 11h07

  • mram

    mram Administrateur

    Bonjour, je confirme que votre code est correct. Vous pouvez passer à la suite.

    le 28/05/2018 à 04h15

  • maxence.souvras

    maxence.souvras

    Bonjour, mon code est correct (validé par la soumission ?) cependant quand j’exécute quelques "test" je me retrouve dans un boucle infini avec cette "pop-up" qui me demande de rentrer un nombre entre 0 et 10. J'ai d'abord commencé par rentrer 12 et 0.5 pour voir si la fenêtre se relançait mais elle se relance tout le temps même si j'écrit 0 ou 10. C'est normal ?

    le 09/11/2017 à 05h13

  • mram

    mram Administrateur

    Bonjour, non votre code n'est pas correct. Dans le if il faut vérifier si ce que retourne prompt() est bien un nombre et qu'il est supérieur à zéro tout en étant inférieur à 10.

    le 11/11/2017 à 14h26

  • yselim1-13

    yselim1-13

    Bonjour, je parviens à valider mon exercice mais au vu des commentaires je doute de son exactitude. Pourriez-vous y jeter un oeil svp, merci.

    le 23/05/2018 à 17h23

  • mram

    mram Administrateur

    Bonjour, en effet ce n'est pas correct. Car là vous vérifiez juste si "result" est vrai et elle l'est forcément puisqu'elle contient la valeur rentrée via prompt(), mais ici on veut vérifié si ce qu'on a rentré est un nombre entre 0 et 10.

    le 28/05/2018 à 04h42

  • JeanAnx

    JeanAnx

    Bonjour, mon code est-il correct ? Impossible de soumettre malheureusement. Merci

    le 19/03/2018 à 19h16

  • mram

    mram Administrateur

    Bonjour, oui il est correct :)

    le 24/03/2018 à 05h11

  • jeremy.synakowski-82

    jeremy.synakowski-82

    Bonjour, même problème que pas mal de monde avec ce message d'erreur : Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ?

    le 31/08/2018 à 10h01

  • mram

    mram Administrateur

    Bonjour, je confirme que votre code est correct.

    le 05/09/2018 à 07h20

  • laila86

    laila86

    Bonsoir cest quoi qui va pas dans mon code?

    le 31/12/2017 à 01h08

  • mram

    mram Administrateur

    Bonjour, c'est l'indentation qui n'était pas optimale. Le code est bien construit sinon.

    le 31/12/2017 à 19h17

  • DuckPixl

    DuckPixl

    pouvez-vous me décrire mon erreur dans mon code SVP ?

    le 03/07/2018 à 11h30

  • mram

    mram Administrateur

    Bonjour, ligne 5 "result" ne peut pas etre à la fois inférieur à 0 ET supérieur à 10.

    le 09/07/2018 à 03h07

  • Lucrèce Renault

    Lucrèce Renault

    Bonsoir, l'exercice est validé si on remplace || par &&, or "result" ne peut pas être à la fois inférieur à 0 et supérieur à 10. (Sans compter que l'exercice m'a aussi été validé en écrivant "result < 10" et "result > 0" ce qui va contre le but de l'exercice... Mais je me suis rendue compte de mon erreur.)

    le 25/05/2018 à 21h07

  • mram

    mram Administrateur

    Bonjour, oui cet exercice est à revoir, merci pour le retour.

    le 28/05/2018 à 05h21

  • hocinesennane-67

    hocinesennane-67

    bonjour. Le seul exercice que je n'arrive pas a valider parmis les trois langages. Après l'avoir laissé de coté à plusieurs reprises, je retente encore mais je n'arrive toujours pas à le valider. pourriez vous me dire si c'est mon code qui n'est pas correcte ou c'est l'exercice qui beug ? Merci.

    le 26/10/2018 à 16h45

  • meriam

    meriam Administrateur

    1:remplacez le || par &&, 2:indentez la ligne4 (doit etre au meme niveau que la structure if pour cela utilisez toujours la touche tabulation).

    le 26/10/2018 à 17h04

  • Raumann

    Raumann

    Bonjour, pourriez-vous m'indiquer où est mon erreur svp ? Merci

    le 20/07/2018 à 14h54

  • mram

    mram Administrateur

    Bonjour, à part des lignes vides inutiles je ne vois pas d'erreur.

    le 01/08/2018 à 05h35

  • valerie.major-59

    valerie.major-59

    Merci. je viens enfin de comprendre.

    le 15/03/2019 à 11h31

  • david.soutarson.pro

    david.soutarson.pro

    if (result < 0 && result > 10 && isNaN(result))l'exercice est validé

    le 08/10/2018 à 14h04

  • pzim-34

    pzim-34

    Celui la fonctionne : var check = false; var result; while(check === false) { result = parseInt(prompt("Entrez un nombre entre 0 et 10 :")); if(isNaN(result) || result > 10 || result < 0) { check = false; } else { check = true; } }

    le 23/03/2019 à 00h05

  • anthonynezri-1

    anthonynezri-1

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

    le 05/03/2019 à 20h41

  • freynaut-92

    freynaut-92

    Finalement j'ai pu valider l'exercice.

    le 29/10/2018 à 18h30

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 */