Bonjour tout le monde, je bloque sur un exercice et j'ai besoin d'aide et d'éclaircissement svp. Il s'agit de l'exercice FizzBuzz (Chapitre 4 exercice 3):
J'ai essayé dans un premier temps en utilisant une boucle "while", et j'ai 2 principaux soucis dans mes résultats. Je ne vois pas le chiffre 1 ni le nombre 100. Ensuite, je ne vois pas les nombres divisibles par 3 et 5 en même temps, donc je ne vois pas de FizzBuzz.
let n = 1;
while (n <= 100) {
n++;
if (n % 3 === 0) console.log("Fizz");
else if (n % 5 === 0) console.log("Buzz");
else if (n % 3 === 0 && n % 5 === 0) console.log("FizzBuzz");
else console.log(n) }
Ensuite, j'ai remplacé ma boucle "while" par une boucle "for", je vois bien mes chiffres 1 mais pas le 100 et toujours pas de FizzBuzz.
let n;
for (n = 1; n <= 100; n++) {
if (n % 3 === 0) console.log("Fizz");
else if (n % 5 === 0) console.log("Buzz");
else if (n % 3 === 0 && n % 5 === 0) console.log("FizzBuzz");
else console.log(n) }
Par avance merci,
Redouane.
Salut, tu as un ordre de priorité à respecter, on est d'accord que 100 n'est pas divisible par 3 donc pas de fizz buzz pour 100, ensuite pour voir tes fizz buzz, je pense que tu devrais écrire la condition fizz buzz en premier car tacondition est vérifié à chaque fois que ça fait fizz ou buzz, du coup ça passe jamais par ta condition fizz buzz
if (n % 3 === 0 && n % 5 === 0) console.log("FizzBuzz");
else if (n % 5 === 0) console.log("Buzz");
elseif (n % 3 === 0) console.log("Fizz");
où
if (n % 3 === 0 && n % 5 === 0) console.log("FizzBuzz");
Bonjour tout le monde, je bloque sur un exercice et j'ai besoin d'aide et d'éclaircissement svp. Il s'agit de l'exercice FizzBuzz (Chapitre 4 exercice 3):
J'ai essayé dans un premier temps en utilisant une boucle "while", et j'ai 2 principaux soucis dans mes résultats. Je ne vois pas le chiffre 1 ni le nombre 100. Ensuite, je ne vois pas les nombres divisibles par 3 et 5 en même temps, donc je ne vois pas de FizzBuzz.
let n = 1;
while (n <= 100) {
n++;
if (n % 3 === 0) console.log("Fizz");
else if (n % 5 === 0) console.log("Buzz");
else if (n % 3 === 0 && n % 5 === 0) console.log("FizzBuzz");
else console.log(n) }
Ensuite, j'ai remplacé ma boucle "while" par une boucle "for", je vois bien mes chiffres 1 mais pas le 100 et toujours pas de FizzBuzz.
let n;
for (n = 1; n <= 100; n++) {
if (n % 3 === 0) console.log("Fizz");
else if (n % 5 === 0) console.log("Buzz");
else if (n % 3 === 0 && n % 5 === 0) console.log("FizzBuzz");
else console.log(n) }
Par avance merci,
Redouane.
Salut, tu as un ordre de priorité à respecter, on est d'accord que 100 n'est pas divisible par 3 donc pas de fizz buzz pour 100, ensuite pour voir tes fizz buzz, je pense que tu devrais écrire la condition fizz buzz en premier car tacondition est vérifié à chaque fois que ça fait fizz ou buzz, du coup ça passe jamais par ta condition fizz buzz
if (n % 3 === 0 && n % 5 === 0) console.log("FizzBuzz");
else if (n % 5 === 0) console.log("Buzz");
elseif (n % 3 === 0) console.log("Fizz");
où
if (n % 3 === 0 && n % 5 === 0) console.log("FizzBuzz");
Avant de poster ce message, j'ai déjà passé un certain temps sur le cours et j'ai pris le temps de lire des messages sur ce sujet.
Je suis quand même surpris de ne voir quasiment aucun message de personne qui galère à comprendre JS ! Personnellement, j'ai l'impression d'être un peu nul. J'ai l'impression de comprendre les notions théoriques mais dès que viennent les exercices de fin de chapitre, je me retrouve souvent incapable de sortir un code et qui plus est un code qui signifie quelque chose. J'ai du mal à résonner et j'ai du mal à mobiliser les notions théoriques pour les mettre en application afin de résoudre un problème posé. Je mélange un peu toutes les notions de variables/valeurs/paramètres/arguments/fonction/objet/etc.
Pourtant, c'est bien un cours destiné aux débutants et j'en suis un, un vrai. Je n'avais jamais fais de programmation auparavant.
Sauf que en programmation, j'ai l'impression de ne rien comprendre et donc de ne rien apprendre. Je reviens donc en arrière dans ce cours mais je voudrais savoir si des personnes en ont bavé au début, s'il y a des conseils à appliquer, etc. Je sais que pour devenir développeur, la programmation est LA compétence de base et je suis vraiment motivé.
J'ai ressenti exactement la même chose que toi quand je me suis lancée dans javascript, emballée par le HTML et le CSS qui sont très abordables. Je me suis trouvée complétement nulle en attaquant le javascript. Ça fait maintenant 8 mois que j'en fait un peu tous les jours et je t'avoue que ce n'est pas encore l'éclate mais petit à petit les choses se mettent en place, les outils deviennent de plus en plus clair et prennent sens. le mieux c'est de t'accrocher et surtout essayer de t'entrainer via d'autres applis ou sites. Il y en a plein qui propose des trucs vraiment sympa.
Sur mobile : grasshopper
Sur ordi : codewars, freecodecamp,
En variant les approches ça devient plus simple et n'hésite pas à relire les cours ou le mdn,des fois il y a des notions qui deviennent claires mais bien après...
En tout cas garde le cap, c'est vraiment sympa quand ça fonctionne.
Prend des notes de tes cours et utilise les pour faire les exercices. Les exemples du cours sont à refaire, pas juste à lire et se dire "ouais je vois ce qu'il veut dire". Modifie les (les exemples) et vois ce qu'il se passe, y a plein de chose qui deviennent plus clair. N'aie pas pas peur des messages d'erreur, prends la journée, ou plus, si il faut pour les comprendre (documentation mozilla, on a la chance de l'avoir en français, c'est pas le cas partout!). Tu peux aussi travailler ce cours: https://openclassrooms.com/fr/courses/4366701-decouvrez-le-fonctionnement-des-algorithmes , il t'apprends à comprendre la logique (et donc le sens) d'un code, le tout sans une ligne de code, que du raisonnement. La prof met tellement de gentillesse dans ce qu'elle fait, c'est un bonheur en plus du reste.
Bon courage, t'inquiète ça va venir, va y doucement et bâcle pas le travail.
Merci Thierry pour cette réponse ! C'est vrai que je fais comme tu dis, je regarde les exemples sans les reprendre avant de passer aux exos de fin de chapitre, je reconnais. J'ai suivi le cours sur les algorithmes c'était très intéressant en effet !
Je fais aussi freecodecamp qui est très bien car c'est vraiment du pas à pas et on répète beaucoup de choses donc ça rentre différemment.
Je ne désespère pas bien au contraire, je savais que ce langage (et la programmation algorithmique en générale) était difficile à apprendre, je suis dedans donc pas de surprise !
ThierryGonthier a écrit:
Salut Valentin,
Prend des notes de tes cours et utilise les pour faire les exercices. Les exemples du cours sont à refaire, pas juste à lire et se dire "ouais je vois ce qu'il veut dire". Modifie les (les exemples) et vois ce qu'il se passe, y a plein de chose qui deviennent plus clair. N'aie pas pas peur des messages d'erreur, prends la journée, ou plus, si il faut pour les comprendre (documentation mozilla, on a la chance de l'avoir en français, c'est pas le cas partout!). Tu peux aussi travailler ce cours: https://openclassrooms.com/fr/courses/4366701-decouvrez-le-fonctionnement-des-algorithmes , il t'apprends à comprendre la logique (et donc le sens) d'un code, le tout sans une ligne de code, que du raisonnement. La prof met tellement de gentillesse dans ce qu'elle fait, c'est un bonheur en plus du reste.
Bon courage, t'inquiète ça va venir, va y doucement et bâcle pas le travail.
Le truc c'est qu'il faut pratiquer, mettre en œuvre systématiquement tout ce que tu vois et là tout prend un sens. Si t'as pas peur de bosser en anglais codecademy est bien aussi, notions de bases et exercices pour chaque point.
Maintenant que tu le dis, bah j’espère que ça va en motiver encore plein d'autre. Bon courage lâche pas l'affaire, quand on veut vraiment quelque chose on y arrive toujours.
C'est vrai que JAVA est particulièrement compliqué, lourd et indigeste, c'est normal de s’octroyer des" petites pauses". Y a des jours faut faire le vide... (sinon on se jette dans le vide).
Par contre, vu la politique d'Oracle concernant ce langage, es tu bien sûr de vouloir poursuivre dans cette techno?
Ce n'est que mon avis, mais je pense que les industriels (principales clients de ce langage) vont y réfléchir à deux fois maintenant.... ou pas. On ne sait pas , mais moi ça m'a calmé.
Avant de poster ce message, j'ai déjà passé un certain temps sur le cours et j'ai pris le temps de lire des messages sur ce sujet.
Je suis quand même surpris de ne voir quasiment aucun message de personne qui galère à comprendre JS ! Personnellement, j'ai l'impression d'être un peu nul. J'ai l'impression de comprendre les notions théoriques mais dès que viennent les exercices de fin de chapitre, je me retrouve souvent incapable de sortir un code et qui plus est un code qui signifie quelque chose. J'ai du mal à résonner et j'ai du mal à mobiliser les notions théoriques pour les mettre en application afin de résoudre un problème posé. Je mélange un peu toutes les notions de variables/valeurs/paramètres/arguments/fonction/objet/etc.
Pourtant, c'est bien un cours destiné aux débutants et j'en suis un, un vrai. Je n'avais jamais fais de programmation auparavant.
Sauf que en programmation, j'ai l'impression de ne rien comprendre et donc de ne rien apprendre. Je reviens donc en arrière dans ce cours mais je voudrais savoir si des personnes en ont bavé au début, s'il y a des conseils à appliquer, etc. Je sais que pour devenir développeur, la programmation est LA compétence de base et je suis vraiment motivé.
Voilà voilà, merci à vous !
Si aucune compétence en programmation essaie d'abord le cours sur les algorythmes ,cela te permettra d'appréhender la logique d'un programmeur.
Je te rassure ,j'ai galéré aussi mais c'est en faisant des erreurs qu'on appprende le plus et à force de s'exercer. Et le métier de programmeur c'est aussi de la recherche. Le métier est en perpétuelle évolution sur les langages etc qu'on ne peut pas tout savoir et il faut savoir se documenter.
Je suis bénévole et inscrite dans un fablab et j'apprends des choses que je n'aurais appris ailleurs m^me si ce n'est pas que de la programmation . Essaie de voir s'il y en a pas un par chez toi qui propose des animations qui pourrait te correspondre.
Hello tout le monde, heureux de voir que comme Valentin je ne suis pas le seul à en ch**r !
Une question pour l'exercice 3 du chapitre 8 ; l'objectif est de pouvoir réaliser l'inverse d'un mot et le comparer au mot initial afin de déterminer si il s'agit d'un palindrome.
Voila mon code
function inverseMot(mot) {
const tabMot = Array.from(mot);
let motInverse = "";
for (i = tabMot.length ; i = 0 ; i -= 1) {
motInverse += tabMot.unshift(i);
tabMot.pop();
}
return motInverse;
}
function estPalindrome(mot) {
if (mot === inverseMot(mot)) {
return "ce mot est un palindrome" ;
} else { return "ce mot n'est pas un palindrome"
;}
}
console.log(estPalindrome("radar"));
Hélas le résultat est décevant étant donné qu'en retour j'obtiens "ce mot n'est pas un palindrome" ce qui est évidemment faux. Quelqu'un aurait une piste pour m'aider svp ?
Bon courage à tous, c'est compliqué mais quel kiff d'utiliser son cerveau
Salut à tous, j'ai un petit soucis dans ce code, j'arrive à obtenir la liste de mon tableau,
mais j'ai toujours une ligne "undefined" après les trois contacts..
Une petite idée ?
//Création d'une class contact pour les contacts
class Contact {
constructor(prenom, nom) {
this.prenom = prenom;
this.nom = nom;
}
decrire() {
return `Nom : ${this.nom}, Prénom : ${this.prenom}`;
}
}
//On creer les deux premiers contacts
const carole = new Contact("Carole", "Lévisse");
const melodie = new Contact("Mélodie", "Nelsonne");
const antoine = new Contact("Antoine", "Stanford");
//On creer le tableau représentant le carnet d'adresse
let carnet = [carole, melodie, antoine];
/*On creer la fonction permettant d'afficher
toutes les données du tableau (a placer plus bas)
*/
function affichage() {
for (i = 0; i < carnet.length; i++) {
console.log(carnet[i].decrire());
}
}
console.log(affichage());
Salut Salut !! Je suis un passionné du code et débutant en JavaScript😋, donc je m’excuse d'avance si ma question paraîtra bête.
Quelle est la différence entre :
-Ajouter un élément textuel à un nœud avec innerHTML, genre :
<body>
<div id="myDiv">
<p>Un peu de texte <a>et un lien</a></p>
</div>
<script>
document.getElementById('myDiv').innerHTML += ' et
<strong>une portion mise en emphase</strong>.';
</script>
</body>
-et utiliser appendChild() (biensure les methodes createElement() ou createTextNode() au prelable):
var newLink = document.createElement('a');
var newLinkText = document.createTextNode("Le Site du Zéro");
newLink.id = 'sdz_link';
newLink.href = 'http://www.siteduzero.com';
newLink.title = 'Découvrez le Site du Zéro !';
newLink.setAttribute('tabindex', '10');
newLink.appendChild(newLinkText);
document.getElementById('myP').appendChild(newLink);
j'ai l'impression que c'est la meme chose, mais en plus difficile via le deuxième moyen 😶.
Avec innerHTML tu insères du code dans une balise qui sera sérialisé par le navigateur en tant que code HTML, je te conseil de lire la doc le concernant car d'un point de vue sécurité c'est à éviter :
appendChild() te permet d'ajouter un enfant à un élément parent, comme par exemple ajouter une section dans un body, dans ce cas la section sera l'enfant de body, voici le lien vers la doc :
Bonjour tout le monde, je bloque sur un exercice et j'ai besoin d'aide. Pour le "compteur de voyelles" mon compteur ne va pas au dessus de 1 et je ne comprend pas pourquoi. Même en comparent avec la correction de github, je ne comprend pas ce qui ne va pas.
Voici mon code :
// Ajoutez votre code ici
function compterVoyelles(mots){
let nombreVoyelles = 0;
//let motsMini = mots.toLowerCase();
//for (i = 0; i <= motsMini.length; i ++){
//let lettre = motsMini[i];
for (const lettre of mots){
const motsMini = lettre.toLowerCase();
if ((motsMini === "a") || (motsMini === "e") || (motsMini === "i") || (motsMini === "o") || (motsMini === "u") || (motsMini === "y")){
nombreVoyelles ++;
return nombreVoyelles;
}
}
}
console.log(compterVoyelles("RadAr")); // 2
console.log(compterVoyelles("Tic et Tac")); // 3
console.log(compterVoyelles("Oasis Oasis Oh")); // 7
//Corection
console.log("\n")
function compterVoyellesCorection(mot) {
let nbVoyelles = 0;
for (const lettre of mot) {
const lettreMin = lettre.toLowerCase();
if (
lettreMin === "a" ||
lettreMin === "e" ||
lettreMin === "i" ||
lettreMin === "o" ||
lettreMin === "u" ||
lettreMin === "y"
) {
nbVoyelles++;
}
}
return nbVoyelles;
}
console.log(compterVoyellesCorection("RadAr")); // 2
console.log(compterVoyellesCorection("Tic et Tac")); // 3
console.log(compterVoyellesCorection("Oasis Oasis Oh")); // 7
J'ai réalisé l'activité_2 pour la gestion de contact. Cependant, lorsque je double clique sur le fichier html, firefox (dernière version) s'ouvre mais rien n'apparaît. Pourriez-vous m'aider avec ce problème et me permettre de lancer mon script ?
Code JS:
/*
Activité : gestion des contacts
*/
class Contact {
creation(prenom, nom) {
this.prenom = prenom;
this.nom = nom;
},
decrire() {
return `Nom : ${this.nom} Prenom : ${this.prenom}`;
}
};
let Agenda=[];
let carole = Object.create(Contact);
carole.creation("Lévisse", "Carole");
Agenda.push(carole);
let melodie = Object.create(Contact);
carole.creation("Mélodie", "Nelsonne");
Agenda.push(carole);
Agenda.push(melodie);
console.log("Bienvenue dans votre Agenda");
let choix;
choix=prompt("Veuillez choisir l\'action désirée. 0 pour quitter, 1 Pour voir vos contact, 2 pour ajouter un contact");
while (choix !=== '0'){ //Tant que l'on ne quitte pas le programme (choix = 0) on boucle les options
if (choix==='1'){ //Si on souhaite lister tout les contacts présents dans l'Agenda
for(let i=0, i<Agenda.length, i++){
console.log(Agenda[i].decrire());
}
}else if (choix==='2'){ //Si l'on souhaite créer un nouveau contact
let nom = prompt('Entrez le nom du nouveau contact :');
let prenom = prompt('Entrez le prénom du nouveau contact :');
let newcontact = Object.create(Contact);
newcontact.creation(prenom, nom);
Agenda.push(newcontact);
console.log("Le contact a été créé avec succès !");
}
console.log(); //ligne vide pour rendre le programme affiché plus clair
console.log ("Au revoir");
};
Merci d'avance
Amandine, Licence de Biologie, Master de Bioinformatique, en formation de Data Scientist
J'ai réalisé l'activité_2 pour la gestion de contact. Cependant, lorsque je double clique sur le fichier html, firefox (dernière version) s'ouvre mais rien n'apparaît. Pourriez-vous m'aider avec ce problème et me permettre de lancer mon script ?
Code JS:
/*
Activité : gestion des contacts
*/
class Contact {
creation(prenom, nom) {
this.prenom = prenom;
this.nom = nom;
},
decrire() {
return `Nom : ${this.nom} Prenom : ${this.prenom}`;
}
};
let Agenda=[];
let carole = Object.create(Contact);
carole.creation("Lévisse", "Carole");
Agenda.push(carole);
let melodie = Object.create(Contact);
carole.creation("Mélodie", "Nelsonne");
Agenda.push(carole);
Agenda.push(melodie);
console.log("Bienvenue dans votre Agenda");
let choix;
choix=prompt("Veuillez choisir l\'action désirée. 0 pour quitter, 1 Pour voir vos contact, 2 pour ajouter un contact");
while (choix !=== '0'){ //Tant que l'on ne quitte pas le programme (choix = 0) on boucle les options
if (choix==='1'){ //Si on souhaite lister tout les contacts présents dans l'Agenda
for(let i=0, i<Agenda.length, i++){
console.log(Agenda[i].decrire());
}
}else if (choix==='2'){ //Si l'on souhaite créer un nouveau contact
let nom = prompt('Entrez le nom du nouveau contact :');
let prenom = prompt('Entrez le prénom du nouveau contact :');
let newcontact = Object.create(Contact);
newcontact.creation(prenom, nom);
Agenda.push(newcontact);
console.log("Le contact a été créé avec succès !");
}
console.log(); //ligne vide pour rendre le programme affiché plus clair
console.log ("Au revoir");
};
Merci d'avance
Salut LeleLele3, je suis actuellement à la même activité que toi
Quand tu dit que rien ne se passe, c'est que tu es sur une page blanche ?
As tu bien ouvert la console web de firefox ?
va dans le menu de firefox, puis développement web :
Puis console web :
Et du coup, ton code doit s’exécuter dans la console qui s'ouvre en bas :)
Edit : tu peut aussi utiliser le raccourci clavier : Ctrl+Maj+K
- Edité par stephane63 15 novembre 2019 à 17:43:05
Valentin Rocher,
06 95 53 86 73
Valentin Rocher,
06 95 53 86 73
Toujours à l'écoute, comme tout marin ! ... et ... prenez bien soin de vous !
Toujours à l'écoute, comme tout marin ! ... et ... prenez bien soin de vous !
Amandine, Licence de Biologie, Master de Bioinformatique, en formation de Data Scientist
Amandine, Licence de Biologie, Master de Bioinformatique, en formation de Data Scientist