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

mi propuesta a ¿será que puedo conducir?

Esta es la solución que yo encontré para definir si la persona es o no apta para manejar. Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

10 respuestas

Espero sus comentarios y observaciones

VERIFICA MI codigo! con el || , resumi todo los if que agregaste estimaddo! recuerda esto! Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

<meta charset="UTF-8">

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

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

    var edad = parseInt(prompt("¿Cuál es tu edad?"));
    var tieneLicencia = prompt("¿Tienes licencia? Responde Si o No");

    if ((edad >= 18) && (tieneLicencia == "Si"||"si" )) {
    imprimir("Puede conducir");
    }
    if ((edad < 18) && (tieneLicencia == "No"||"no" )) {
        imprimir("no puede conducir");
    }
</script>  

Oh, muchas gracias por la sugerencia, William, y gracias también por la tabla de condiciones.

Gracias a ti ! por que gracias a tu codigo me puse a pensar mucho mejor el resultado.

El programa no funciona bien al usar " || " ya que si pones que eres mayor de 18 y luego respondes la pregunta "¿Tienes licencia? Responde S o N" con cualquier letra, ésta mandará que si puedo conducir lo cual no debería ser de esa forma.

Pues ambas respuestas si me salio!!! Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Me parece raro la verdad, hice un copy & paste de todo el código y me sale lo que indiqué anteriormente. Si coloco 19 y escribo N, éste me arrojará que se puede conducir cómo se puede observar en la consola y en la página. Foto del Código y lectura en la consola.

Duré como una hora trantando de hallar la solución jeje, porque como dice 'Alumno' si damos la condición de "19 y No" te va a tirar "Puede Conducir" y la solución que hallé fue adentrarse en las condicionales. El código del compañero 'William' tiene dos condiciones:

A. Si es mayor o igual a 18 y tiene licencia

B. Si es menor a 18 y no tiene licencia

No hay ninguna condición para:

C. Si es mayor o igual a 18 y no tiene licencia

Las condicionales deben cumplirse "Si o Si en las dos condiciones" y, <<19 y No>> no cumple "Sí o sí" con ninguna de las dos, por lo tanto los dos if serían falsos, lo que no logré explicarme fue porqué tira "Puede Conducir".

La solución que hallé fue condicionar el If número B en vez de un "y" a un "o", así:

B. Si es menor a 18 o no tiene licencia

Con eso solucione el problema de que si es mayor a 18 y no tiene licencia me tire "No puede conducir".

Pero seguía tirandome también "Puede Conducir" o sea, me tiraba:

Puede Conducir No puede Conducir

Vi que "imprimir("Puede conducir");" estaba mal identado, lo corregí pero igual seguía la misma cosa:

Entonces solo por probar decidí poner entre paréntesis ("Si" || "si") y su homólogo:

(tieneLicencia == "Si"||"si") COMO ESTABA (tieneLicencia == ("Si"||"si")) COMO LO PUSE

Y ya con eso se corrigió todo :)

Nota: De hecho que los dos primero códigos del instructor tira error también en esa condición de "mayor de 18 y no tiene licencia"

Aquí les paso la solución que pude hallar para esa condición dolosa para el código. Saludos!!

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

Otra cosita que Alumno puso como respuesta "N" y en el código de William sus respuesta son "Si", "si " o "No", "no", para el problema de que uno ponga otra cosa por ejemplo "R" esto es lo que pude solucionar

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

Perfecto, muy excelente el aporte, la verdad que estuve probando código para ver que era lo que pasaba pero no se me habia ocurrido poner entre paréntesis ( "Sí" || "si" ). Muchas gracias por la solucion, tambien aclarar que el "N" fue aproposito jejeje para demostrar que escribiendo cualquier letra tiraba el "Puede conducir". De verdad que piola que lo hayas podido aclarar y encontrar solución a este problema ya que creo que fui el único que se dió cuenta del error y fuiste tú el que le dió solución. Gracias otra vez jsjsjs

solución!

Hola Jorge,

Gracias por compartir tu experiencia con nosotros.

Te recomiendo que puedes interactuar con el resto de nuestros compañero por nuestro Discord, en virtud de que en Discord el alcance es mayor, la interacción es inmediata y llega a más compañeros y el foro solo quedaría para esclarecer cualquier duda que puedas tener sobre el contenido de los cursos.

De esa manera si tienes algún comentario, opinión, recomendación o algún consejo sea por el Discord, con certeza por ahí llegará a más personas.

Un saludo!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios