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)
2
respuestas

Loteria

Buenas! dejo mi juego de lotería:

<meta charset="UTF-8">

<h1>PROGRAMA DE LOTERIA </h1>

<script>

    function saltarLinea() {
        document.write("<br>");    
        document.write("<br>");    
        document.write("<br>");    
    }  

    function imprimir(frase) {
        document.write(frase);
        saltarLinea();
    }

     function sortea(n){
        var n = Math.round(Math.random()*n)
        return n
    }

    var numeroPensado = sortea(10)
    var numeroLanzado = parseInt(prompt("Ingrese un número entre 0-10"))
    var mensajeGanador = imprimir("El numero ganador es: "+ numeroPensado)



    if (numeroPensado == numeroLanzado){
        imprimir("Usted se ganó la lotería")
    }
    if(numeroPensado < numeroLanzado){
        imprimir("El numero ganador es menor al número que eligió")
        mensajeGanador
    }
    if(numeroPensado > numeroLanzado) {
        imprimir("El numero ganador es mayor al número que usted eligió ")
        mensajeGanador
    }else{
        mensajeGanador
    }

</script>
2 respuestas
solución!

Hola Alejandro, tu codigo funciona perfecto pero se puede optimizar. Pensa en como se ejecuta: si "numeroPensado == numeroLanzado" se imprime el mensaje, pero, a pesar de estar terminado se chequean las condiciones de mayor y menor. Lo mismo sucede si resulto menor, se chequea la de mayor. Para evitar esto se utiliza lo siguiente: if (cond) { }else if(){ } ... }else if(){ } }else { } esto hace que si alguna de las condiciones de la secuencia es cierta, el resto no se evaluen mas. Ademas, por buenas precticas, le pondria los ";" finales a todo. Tu codigo quedaria asi. Saludos

if (numeroPensado == numeroLanzado){
    imprimir("Usted se ganó la lotería");
}
else if(numeroPensado < numeroLanzado){
    imprimir("El numero ganador es menor al número que eligió");
    mensajeGanador;
}
else if(numeroPensado > numeroLanzado) {
    imprimir("El numero ganador es mayor al número que usted eligió ");
    mensajeGanador;
}else{
    mensajeGanador;
}

Hola Carlos, muchas gracias por responder, entiendo que se debe usar else if cuando es más de una condición o hasta switch sería lo ideal también, pero en el video el profesor no utilizó else if entonces lo quise probar tal cuál está en los videos. De todas formas es totalmente válido tu planteo y te vuelvo a agradecer por tu aporte :)