Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] duda codigo buenas practicas

Hola revisando el video y el codigo que estaba realizando , veo que al colocar mi break y contador en el mismo lugar que lo colocan los tutores en el video a mi no me funciona , en cambio si lo coloco en un lugar distinto si alguien podria ayudarme resolviendo esta duda gracias

let numeroSecreto=5;
let numeroUsuario=0;
let intentos=1;
let numeroVeces= "vez"
            while(numeroUsuario != numeroSecreto){
            numeroUsuario= prompt("me indicas un numero por favor:");
            if (numeroUsuario == numeroSecreto){
                alert (`acertaste al numero : ${numeroSecreto} ,lo intentaste en   ${intentos}  ${numeroVeces} `);
            }else { 
                if (numeroUsuario>numeroSecreto){
                alert ("numero secreto es menor");
            } else { if (numeroUsuario<numeroSecreto){
                alert ("numero secreto mayor");
            }
            
            }
            }
            intentos=intentos+1;
            numeroVeces="veces"; 
            if (intentos>3) {
                alert(" ha llegado al numero maximmo de intentos");
                break;
            }
        }
        

1 respuesta

Hola Jairo, espero que estés bien

Gracias por compartir tu código y tu duda. Vamos a echarle un vistazo para ver cómo podemos ayudarte.

Por lo que describes, parece que el problema podría estar relacionado con la ubicación del break y el incremento del contador intentos. En tu código, el break está colocado después de incrementar el contador y cambiar el valor de numeroVeces. Esto debería funcionar correctamente, pero hay algunos detalles que podrías revisar:

  1. Tipo de datos de numeroUsuario: Cuando usas prompt, el valor que se obtiene es una cadena de texto. Para comparar correctamente con numeroSecreto, que es un número, debes convertir numeroUsuario a un número. Puedes hacerlo usando parseInt() o Number(). Por ejemplo:

    numeroUsuario = parseInt(prompt("me indicas un numero por favor:"));
    
  2. Condiciones de if: Asegúrate de que las condiciones if están correctamente anidadas y que cada if tiene su correspondiente else si es necesario. Tu estructura parece correcta, pero es bueno revisarlo.

  3. Ubicación del break: El break está bien colocado para salir del bucle cuando los intentos superan 3. Asegúrate de que el flujo lógico del programa es el que esperas.

  4. Prueba con valores diferentes: Asegúrate de probar tu código con diferentes valores de entrada para verificar que todas las rutas lógicas funcionan como esperas.

Aquí tienes un ejemplo modificado con la conversión de tipo:

let numeroSecreto = 5;
let numeroUsuario = 0;
let intentos = 1;
let numeroVeces = "vez";

while (numeroUsuario != numeroSecreto) {
    numeroUsuario = parseInt(prompt("me indicas un numero por favor:"));
    if (numeroUsuario == numeroSecreto) {
        alert(`acertaste al numero : ${numeroSecreto} ,lo intentaste en ${intentos} ${numeroVeces}`);
    } else {
        if (numeroUsuario > numeroSecreto) {
            alert("numero secreto es menor");
        } else if (numeroUsuario < numeroSecreto) {
            alert("numero secreto mayor");
        }
    }
    intentos = intentos + 1;
    numeroVeces = "veces";
    if (intentos > 3) {
        alert("ha llegado al numero máximo de intentos");
        break;
    }
}

Espero que estas sugerencias te ayuden a resolver el problema. ¡Bons estudios!