Solucionado (ver solución)
Solucionado
(ver solución)
7
respuestas

Sobre el IF

Una consulta.. cuando pongo varias condiciones en el if con && quiere decir que para que sea verdadero se debe cumplir una de estas y no necesariamente todas?

7 respuestas

Hola el operador && (AND) es una condicional que hace mención a que se deben cumplir todas las partes para poder tener un resultado verdadero , por su contraparte si requieres que el if se vuelva verdadero solo con que una condición se cumpla existe el operador ||(OR)

Hola Cesar... Estoy un poco confundido porque según las condiciones cuando hago click en un sector de la "esferita" no se están cumpliendo todas, por ejemplo teniendo en cuenta solo el eje x, si hago click lo estoy haciendo en x < x < xAleatorio + radio O´ x>xAleatorio - radio.

Hola Alejandro, en el AND (conjuncion) todas las "condiciones" deben ser verdaderas para que se cumpla, es decir, basta que una sola sea falsa para que nos retorne False y no ejecute en este caso el cuerpo del if o ejecute else en caso de que este declarado. En cambio en el OR (disyuncion) nos basta que una de las condiciones sea verdadera para 'entrar'. Aqui abajo puedes obvservar las combinaciones y valores que retorna. (A y B imagina que son dos condiciones)

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

No logro comprender bien tú duda Alejandro podrias adjuntar capturas de la parte del código con las que deseas pedír ayuda , sin embargo si puedo comentarte que si deseas saber si un usuario pica en la determinada zona "esferita", mas específicamente si el usuario pica o no dentro de ella deberias probar con el operador lógico &&(and) desde x minima hasta x máxima, ya que si utilizas el operador ||(or) la condición se haria verdadera con solo una que lo fuera. me explico mejor con el siguiente ejemplo si quieres que el area este delimitada desde x<100 y x>0 y necesitas saber si el usuario se posicióna encima de esa area pondrias la siguiente condición if(x>0&&x<100) por otra parte si remplazamos por la condición ||(or) y evaluamos la misma condición evaluaria primero x>0 y si esto fuera verdad, sin importar si el valor esta muy por encima de los 100 que tu querias como máximo , la condicion se volvería verdadera dejando de validar si x<100 ya que al encontrar una condición verdadera ejecuta el codigo dentro del if

solución!

Hola Alejandro, espero que estés bien.

Gracias por tu aporte, Cesar e Tomás, es bueno ver los diferentes puntos de vistas, eso enriquece nuestros conocimientos.

Para el operador lógico AND (&&), devolverá true si ambos operandos son true y devuelven false de otra forma.

Los operandos se convierten implícitamente en tipo boolantes de la evaluación y el resultado es de tipo bool.

El AND lógico tiene asociatividad de izquierda a derecha.

La siguiente expresión es un ejemplo.

if (1 > 0 && 3 > 2) {
    //esta línea se ejecutará
}
Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios.

Gracias compañeros por repasarnos este tema de los operadores lógicos, creo que también se conoce como tablas de verdad, es importante entenderlo para los resultados lógicos, comparativos y condicionales. saludos...!!!

Ok, gracias a todos por su aporte, creo que voy entendiendo, no quisiera crear una polémica con la esferita pero también me surge la duda de que si es "esfera" o "cuadrado"