Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Tentativa fora do Else

Boa tarde. Reparei que no exemplo, a instrutora cita q a variável "tentativa++" deveria ficar fora do else, uma vez que, segundo ela, dentro do else estaria apenas a condição de "erro" e o "acerto" também deveria contar como uma tentativa.

Me chamou a atenção que no exemplo feito pelos instrutores, eles mantiveram o "tentativa++" dentro do else e aparentemente não surtiu efeito algum. Tudo correu na normalidade.

Fiz um teste em meu código e coloquei o "tentativa++" fora do else e meu código continuou reagindo da mesma forma.

Minha dúvida é: Pq a instrutora sugeriu colocar o "tentativa++" fora do else, uma vez q nada do resultado final mudou, tanto dentro quanto fora do else?

Segue meu código para checagem. Obrigado desde já pela atenção de todos.

alert('Boas vindas ao jogo do número secreto');
let numeroSecreto = 5;
console.log(numeroSecreto);
let chute;
let tentativas = 1;

while (chute != numeroSecreto) {
    chute = prompt('Escolha um número entre 1 e 10');
// se chute for igual ao número secreto
    if (chute == numeroSecreto) {
        alert(`Isso ai! Você descobriu o número secreto ${numeroSecreto} com ${tentativas} tentativas.`);
    } else {
        if (chute > numeroSecreto) {
            alert (`O Número Secreto é menor que o ${chute}`);
        } else {
            alert (`O Número Secreto é maior que o ${chute}`);
        } 
    }
    tentativas++
}
2 respostas
solução!

Bom dia!

Nesta situação, no erro, se ficar dentro do "else" ou fora, tanto faz, já que ele será contabilizado sempre se errar - vai passar pelo código de qualquer modo.

Se você acertar, acaba o jogo. Então, como com o acerto o 'loop' é encerrado, não importa se será ou não somada tentativa.

Numa boa prática a contabilização deveria estar somente no else, já só deve contabilizar tentativa no erro.

Em uma situação hipotética onde, se você precisar da informação de tentativas depois do loop, esta quantidade estaria errada se a contabilização estiver fora do else, pois em caso de acerto, haverá um acrescimo.

Bons estudos!

Ahhhh... saquei!!!! Valeu, Thiago. Matou minha dúvida.

Obrigado e bom dia.