Créer une ligne avec des caractères tous les X nombres

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour tout le monde,

Me revoilà avec mes exercices en carton mais qui me bloquent!

J'aimerais créer une ligne dans ma console de 100 caractères. Cette ligne doit être ponctuée de # toutes les X cases, X étant défini par l'utilisateur qui rentre un chiffre dans une prompt

Si il tape 2 ça donne: __#__#__#__#__#

Je n'arrive pas du tout à exprimer ça en code, si quelqu'un peut m'orienter ce serait vraiment sympa!

Merci!

Édité par Moody_jr

+0 -0

Cette réponse a aidé l'auteur du sujet

Je vais donner une réponse en français pour éviter de donner la réponse en code ;)

"Il suffit de faire une boucle de la longueur total de la chaîne. Dans cette boucle, tu concatènes a chaque tour des '_' SAUF si l'indice de la boucle est modulo ton X"

ZdS, le best du Zeste ! Tuto Arduino, blog, etc

+2 -0
Auteur du sujet

Ok donc la logique est: un nouveau ' _ ' se crée à chaque tour sauf si l'indice est modulo de X, on remplace alors ' _ ' par un '#'

Une question me turlupine quand même. Cette ligne se construit à chaque tour avec cette logique mais ne peut-on pas déterminer de base une ligne de 100 caractères?

Désolé si cela ne paraît pas très clair, cela ne l'est pas non plus pour moi ^^

Édité par Moody_jr

+0 -0

Cette réponse a aidé l'auteur du sujet

Une question me turlupine quand même. Cette ligne se construit à chaque tour avec cette logique mais ne peut-on pas déterminer de base une ligne de 100 caractères?

Si tu peux aussi partir sur une ligne de 100 caractères et t'amusez a remplacer tout les X de la même façon que vu précédemment (mais moi je suis feignant, j'ai pas envie de taper 100 fois le même caractère a la main :D )

ZdS, le best du Zeste ! Tuto Arduino, blog, etc

+1 -0
Auteur du sujet

Une question me turlupine quand même. Cette ligne se construit à chaque tour avec cette logique mais ne peut-on pas déterminer de base une ligne de 100 caractères?

Si tu peux aussi partir sur une ligne de 100 caractères et t'amusez a remplacer tout les X de la même façon que vu précédemment (mais moi je suis feignant, j'ai pas envie de taper 100 fois le même caractère a la main :D )

Eskimon

Ok je comprends! On m'a toujours dit que si tu répétais une même action plusieurs fois c'est que ton code n'était pas adapté :)

Je vais essayé de suivre ta logique, c'est pas simple pour moi encore :)

Merci beaucoup en tout cas :)

+0 -0
Auteur du sujet

Eskimon, malgré tes conseils je n'arrive pas à la construire, voilà où j'en suis

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
var number = prompt("Saisissez un nombre entre 3 et 10");
var line = "";

for ( var i = 0; i <= 100; i++ ) {

    if (line){

        line += "_";

    } else if {



    }
}

console.log(line);

avant cette version j'ai réussi à afficher un certain nombre de ' _ ' et de '#' mais c'était complètement aléatoire

Édité par Moody_jr

+0 -0

Je n'arrive même pas à t'expliquer ma logique en fait. Je vais retravailler dessus, je ne vais pas te faire perdre de temps

Moody_jr

Ca pourra intéresser quand tu auras 5 minutes de dispo ;) : https://zestedesavoir.com/tutoriels/441/pourquoi-vous-devriez-avoir-une-peluche-sur-votre-bureau/

Des que c'est plus clair dans ta tête n’hésite pas a revenir poser des questions :)

ZdS, le best du Zeste ! Tuto Arduino, blog, etc

+3 -0
Auteur du sujet

Salut Eskimon,

Je reviens après quelques jours de vacances et malgré ça je n'arrive toujours pas à réaliser cette fonction ^^

J'affiche sans problème ma ligne de 100 " _ "

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
var number = prompt( "Saisissez un nombre entre 3 et 10" );
var line = "";


for ( var i = 0; i <= 100; i++ ) {

    line += "_";

}

console.log(line);

Mais je n'arrive pas à construire le système avec le modulo …

+0 -0
Auteur du sujet
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
var number = prompt( "Saisissez un nombre entre 3 et 10" );
var line = "";

for ( var i = 0; i <= 100; i++ ) {

    if ( i % number === 0 ) {

        line += "#";

    } else {

        line += "_";
    }
}

console.log( line );
+0 -0

Sa marche oui, la fonction parseInt permet de t'assurer que la valeur entrée par le visiteur est bel et bien un nombre.

Cependant, le fait de ne pas le faire ne créera aucun problèmes.

Ps: Si on écris "2tutu", sans le parseInt il n'y aura aucun tour de boucle, avec le parseInt tu en aura 2.

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte