Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

[Duda] Alguien sabe porque no me imprime el if del final?

<meta charset="UTF-8" />

<h1>PROGRAMA - JUEGO DE ADIVINAZIÓN</h1>

<script>
  function saltarlinea() {
    document.write("<br>");
    document.write("<br>");
    document.write("<br>");
  }
  function print(frase) {
    document.write(frase);
    saltarlinea();
  }

  let numeroPensado = Math.round(Math.random() * 10);
  let intentos = 3;

  for (i = 1; i <= intentos; i++) {

    let numeroLanzado = parseInt(prompt("Escribe un número entre 0 - 10"));
    if (numeroLanzado == numeroPensado) {
      alert("Haz encontrado el número en el intento " + i + ", el número pensado era " + numeroPensado);
      break;
    } else {
      alert("Haz fallado");
    }
  }

  if (numeroPensado == numeroLanzado) {
      print("Haz encontrado el número en el intento " + i + ", el número pensado era " + numeroPensado);
    } else {
      print("Haz fallado, el número pensado era " + numeroPensado);
    }
  print("Fin del juego")
</script>
3 respuestas
solución!

Buenas noches Luis El problema de que el if al final del código no se imprime se debe a que la variable numeroLanzado no está definida fuera del bucle for en tu código. Para solucionarlo, puedes declarar la variable fuera del bucle, asignarle un valor inicial y luego actualizar su valor dentro del bucle. De esta manera, la variable estará disponible tanto dentro como fuera del bucle, permitiendo que se cumpla la condición en el if al final del código y se imprima el resultado del juego correctamente.

let numeroPensado = Math.round(Math.random() * 10);
let intentos = 3;
let numeroLanzado; // Declarar la variable fuera del bucle

for (i = 1; i <= intentos; i++) {
  numeroLanzado = parseInt(prompt("Escribe un número entre 0 - 10"));
  if (numeroLanzado == numeroPensado) {
    alert("Haz encontrado el número en el intento " + i + ", el número pensado era " + numeroPensado);
    break;
  } else {
    alert("Haz fallado");
  }
}

// Usar la variable numeroLanzado en el if al final del código
if (numeroPensado == numeroLanzado) {
  print("Haz encontrado el número en el intento " + i + ", el número pensado era " + numeroPensado);
} else {
  print("Haz fallado, el número pensado era " + numeroPensado);
}

print("Fin del juego");
Si este post te ayudó, por favor, marca como solucionado ✓.

Muchas gracias, si me funcionó.

Hola, como estas Luis? Trata de cuando haces una comparación si algo es igual a algo de hacerlo con triple igual ===. Por que esta comparación 2 == "2" te va a dar true cuando en realidad no lo es. Saludos. mucho éxito!