Partage
  • Partager sur Facebook
  • Partager sur Twitter

Boucle for qui ne fonctionne pas

Je ne comprends pas pourquoi elle ne fonctionne pas

Sujet résolu
    1 décembre 2018 à 15:11:40

    Bonjour, je suis un débutant et j'aime bien faire des tests en Javascript. 

    J'étais en train de faire une boucle permettant d'afficher une lettre aléatoire cent fois, quand le malheur se produisit en m'apercevant que le programme ne fonctionne pas.

    Aidez moi si il vous en plait ainsi...

    Le code

    for(i=0; i ==100; i++){
    var x =Math.floor(Math.random()*26)+1;//initialisation du nombre aleatoire
    switch(x){//afficher une lettre en fonction de x
    case1:
            document.write("a");
    break;
    case2:
            document.write("b");
    break;
    case3:
            document.write("c");
    break;
    case4:
            document.write("d");
    break;
    case5:
            document.write("e");
    break;
    case6:
            document.write("f");
    break;
    case7:
            document.write("g");
    break;
    case8:
            document.write("h");
    break;
            case 9:
            document.write("i");
            break;
            case 10:
            document.write("j");
            break;
            case 11:
            document.write("k");
            break;
            case 12:
            document.write("l");
            break;
            case 13:
            document.write("m");
            break;
            case 14:
            document.write("n");
            break;
            case 15:
            document.write("o");
            break;
            case 16:
            document.write("p");
            break;
            case 17:
            document.write("q");
            break;
            case 18:
            document.write("r");
            break;
            case 19:
            document.write("s");
            break;
            case 20:
            document.write("t");
            break;
            case 21:
            document.write("u");
            break;
            case 22:
            document.write("v");
            break;
            case 23:
            document.write("w");
            break;
            case 24:
            document.write("x");
            break;
            case 25:
            document.write("y");
            break;
            case 26:
            document.write("z");
            break;
        }
        var x = 0
    }



    -
    Edité par ventilation 2 décembre 2018 à 16:12:59

    • Partager sur Facebook
    • Partager sur Twitter
      1 décembre 2018 à 15:21:56

      Bonjour,

      Merci d'utiliser la mise en forme de code Image

      Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Image de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: c;">Votre code ici</pre>.

      Manque de précisions

      Vous êtes ici sur un forum d'entraide communautaire et non pas sur un forum de demande de service, le but n'est donc pas de fournir une réponse toute faite ou de directement fournir la solution à quiconque viendrait sans la moindre trace. Afin d'obtenir de l'aide et une solution à votre problème, il est fortement recommandé de présenter clairement l'état actuel du problème en nous fournissant :

      • Un descriptif clair et précis du problème
      • La tentative actuelle de résolution que vous avez effectué
      • Le résultat attendu et le résultat actuel
      • Toutes pistes de recherches pouvant aider à la résolution
      • Partager sur Facebook
      • Partager sur Twitter

      Pas d'aide concernant le code par MP, le forum est là pour ça :)

        1 décembre 2018 à 20:04:36

        var alpha="abcdefghijklmnopqrstuvwxyz".split("");
        
        for(i =0; i < 100; i++ ){
        var rnd_ltt=alpha[Math.floor(Math.random()*26)];
        console.log(rnd_ltt);
        }

        Voila une solution plus simple qu'un switch case, à chaque boucle il va chercher une nouvelle lettre.

        Mais apprendre le code est d'essayer et de comprendre pourquoi ca marche pas fait part de l’apprentissage. 

        Bonne chance pour la suite!

        -
        Edité par PaulHUBERT 1 décembre 2018 à 20:04:50

        • Partager sur Facebook
        • Partager sur Twitter
        Combien de développeurs faut-t-il pour remplacer une ampoule grillée ?Réponse : « Aucun, c'est un problème Hardware ».
          2 décembre 2018 à 16:21:04

          Pour mon problème, mes boucles ne fonctionnent pas certaine fois et je ne comprends pas pourquoi 

          On formule bien une boucle for en Javascript comme ça:

          for (i=0; i==10; i++) {
             //contenu de la boucle
          }



          • Partager sur Facebook
          • Partager sur Twitter
            2 décembre 2018 à 17:09:17

            Dans ton exemple, ta boucle for veut dire : "Pour i qui vaut 0, tant que i est égal à 10 j'incrémente i de 1 à chaque tour de boucle"

            Or i vaut 0 donc il ne vaut pas 10 -> Pas de boucle.

            • Partager sur Facebook
            • Partager sur Twitter
              2 décembre 2018 à 17:10:41

              Le problème de ta boucle, c'est que sa condition d’exécution est fausse dès la première itération. Telle que tu l'as définie, ta boucle débute avec i = 0, et se finit dès que i == 10 est faux, ce qui évidemment est le cas dès le début...

              Il faut écrire ta boucle ainsi :

              for (var i = 0; i < 10; i++) {
                //contenu de la boucle
              }
              • Partager sur Facebook
              • Partager sur Twitter
                3 décembre 2018 à 16:40:30

                Merci, et moi qui pensait que la boucle se répètait jusqu'à ce que la condition soi vrai
                • Partager sur Facebook
                • Partager sur Twitter

                Boucle for qui ne fonctionne pas

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown