Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

en el ejercicio de la loteria, cuando las dos condiciones son verdaderas, de que manera puedo hacer para que solo le de display a la ultima en la que solo le dice al usuario que su numero era mayor al pedido y no tambien al numero correcto

<meta charset="utf-8">
<h1>LOTERIA!!!</h1>
<script>
// 1 – Crea una función de lotería que reciba un número n y sortee un número entre 0 a n, retornando ese valor. De esta forma, en vez de escribir var numeroPensado = Math.round(Math.random()*n);, escribirás var numeroPensado = sortea(n);. Realiza esa modificación, creando una nueva función y utilízala de forma correcta.

//2 – Hacer que tu juego exhiba, cuando el usuario falle el intento, si el número lanzado era mayor o menor al número pensando por el programa.

    function saltarLinea() {

        document.write("<br>"); 
        document.write("<br>"); 
        document.write("<br>");   

    }

    function imprimir(frase) {

        document.write(frase);
        saltarLinea();

    }

    function sorteo(n) {
        return Math.round(Math.random()*n);
    }

    var numeroPensando = sorteo(20);
    var numeroRecibido = parseInt(prompt("Ingrese un numero entre 1 y 20"));
    if (numeroRecibido == numeroPensando ) {
        imprimir("usted ha acertado, gano la loteria!");
    }
    else{
        imprimir(`usted ha fallado el numero era ${numeroPensando}`);
    }
       if (numeroRecibido > numeroPensando) {
        imprimir("el numero que ha ingresado es mayor a lo que se le ha pedido");
    }





</script>

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

2 respuestas

Hola! te paso una posible solución agregando más If, siempre en la programación hay muchos caminos :) en este caso al ser mayor solo imprime esa leyenda, y al ser menor tira el error, yo lo vería optimo si usaramos "while" o "for" ya que se mantendría en bucle y no cambiaría el número sorteado, con lo cual la persona puede jugar a tener más oportunidades y aproximarse cuando la leyenda diga "es mayor " o "es menor".

<meta charset="utf-8">
<h1>LOTERIA!!!</h1>
<script>
// 1 – Crea una función de lotería que reciba un número n y sortee un número entre 0 a n, retornando ese valor. De esta forma, en vez de escribir var numeroPensado = Math.round(Math.random()*n);, escribirás var numeroPensado = sortea(n);. Realiza esa modificación, creando una nueva función y utilízala de forma correcta.

//2 – Hacer que tu juego exhiba, cuando el usuario falle el intento, si el número lanzado era mayor o menor al número pensando por el programa.

    function saltarLinea() {

        document.write("<br>"); 
        document.write("<br>"); 
        document.write("<br>");   

    }

    function imprimir(frase) {

        document.write(frase);
        saltarLinea();

    }

    function sorteo(n) {
        return Math.round(Math.random()*n);
    }

    var numeroPensando = sorteo(20);
    var numeroRecibido = parseInt(prompt("Ingrese un numero entre 1 y 20"));


    if (numeroRecibido == numeroPensando) {
        imprimir("usted ha acertado, gano la loteria!");
    }
    if (numeroRecibido > numeroPensando) {

        imprimir("tu número es mayor al sorteado");
    }
    else { 
        imprimir("Erraste el número");
    }

</script>

Hola, espero te sirva este explicación, la estructura if tiene puede tener tres partes, que son: if(condición){...}else if(condición){...}else{...}, traduciendo esto a lenguaje humano, sería, SI se cumple esta condición, haz esto(if), o si se cumple esta condición, haz esto(else if); de lo contrario; haz esto(else). Puedes anidar todos los else if que quieras para dar otras opciones. Esta sería mi sugerencia de codigo, además, agregué una variable para que el cliente elija la cantidad de intentos en los que quiere adivinar el número, pero no conforme con eso, todos los intentos, serán para adivinar el mismo número, ya que si cambiara en cada intento, no tendría sentido, y te dirá si el número es mayor o menor. Seguro que con esto se te ocurrirá muchas cosas mas para agregarle al juego. Espero que te sirva esta explicación mi estimado amigo, Saludos...

<!DOCTYPE html>
    <html>
    <meta charset="utf-8">
<h1>LOTERIA!!!</h1>
<script>
// 1 – Crea una función de lotería que reciba un número n y sortee un número entre 0 a n, retornando ese valor. De esta forma, en vez de escribir var numeroPensado = Math.round(Math.random()*n);, escribirás var numeroPensado = sortea(n);. Realiza esa modificación, creando una nueva función y utilízala de forma correcta.

//2 – Hacer que tu juego exhiba, cuando el usuario falle el intento, si el número lanzado era mayor o menor al número pensando por el programa.

    function saltarLinea() {

        document.write("<br>"); 
        document.write("<br>"); 
        document.write("<br>");   

    }

    function imprimir(frase) {

        document.write(frase);
        saltarLinea();

    }

    function sorteo(n) {
        return Math.round(Math.random()*n);
    }

    var numeroPensado = sorteo(20);
    var cantidadIntentos = parseInt(prompt("¿Cuantos intentos desea tener para adivinar el número?",3));
    var intentos = 1;

    while(intentos<=cantidadIntentos){
        intentos++;
    var numeroRecibido = parseInt(prompt("Ingrese un numero entre 1 y 20"));
        if (numeroRecibido == numeroPensado ) {
            imprimir("usted ha acertado, gano la loteria!");
            break;
        }
        else if(numeroRecibido>numeroPensado){
        alert("el numero que ha ingresado es mayor a lo que se le ha pedido");

        }
        else{
        alert("el numero que ha ingresado es menor a lo que se le ha pedido");
        }
    }
    if(numeroPensado!==numeroRecibido){imprimir("Ud erró, el número pensado era "+numeroPensado)}






</script>
    </html>