Domina el control de flujo en Python desde la base: expresiones booleanas, operadores de comparación y operadores lógicos. Con ejemplos simples en consola y uso de if, elif y else, verás cómo evaluar condiciones y tomar decisiones claras en tu código.
¿Qué es una expresión booleana y por qué importa?
Una expresión booleana siempre se evalúa como verdadero o falso. Solo hay dos valores: 1 y 0, verdadero y falso, encendido y apagado. Con este par de resultados construimos decisiones que guían el programa.
Booleano: solo dos estados posibles.
Evaluación: cualquier comparación devuelve verdadero o falso.
Control de flujo: las decisiones se basan en estas evaluaciones.
¿Cómo se visualiza con tablas de verdad?
Las tablas de verdad permiten ver cómo cambian los resultados al aplicar operadores lógicos a combinaciones de valores. Con P y Q como valores hipotéticos, se prueban todas las combinaciones: verdadero/verdadero, verdadero/falso, falso/verdadero, falso/falso.
and: solo es verdadero cuando ambos son verdaderos.
or: es verdadero cuando al menos uno es verdadero.
not: invierte el valor de verdad.
¿Cómo usar operadores de comparación en Python?
En la consola o Interactive Shell, define variables y compara. Recuerda: un solo = es asignación, doble == es igualdad.
¿Por qué '=' no es igualdad?
El símbolo = asigna un valor a una variable. La igualdad se expresa con ==.
# Asignación vs igualdadx =2y =3x == y # Falsey =2x == y # Truey =3# volvemos a 3 para seguir
¿Qué significan '==', '!=', '<', '>', '<=', '>='?
Son operadores de comparación que relacionan dos valores.
x =2y =3x != y # Truex > y # Falsex < y # Truex >= y # Falsex <= y # True# Importa el orden correcto en operadores compuestos# x => y # SyntaxError: el orden correcto es x >= y
Paréntesis: usa paréntesis para agrupar y dar claridad.
Lectura mental: leer “mayor o igual” ayuda a evitar errores.
¿Cómo operan and, or, not y cómo controlan el flujo?
Con and, or y not combinas comparaciones para crear condiciones robustas. Piensa en enunciados cotidianos: con and, si una parte es falsa, todo es falso; con or, basta con una parte verdadera; con not, inviertes el resultado.
Con esto, las expresiones booleanas se vuelven útiles al controlar el programa con if, elif y else.
¿Cómo aplicar if, elif y else para decidir?
Usa condiciones para ejecutar bloques de código solo cuando se cumplan.
x =2y =3if x < y:print("X es menor que Y")else:print("X no es menor que Y")
if: ejecuta cuando la condición es verdadera.
elif: evalúa condiciones adicionales cuando las previas fallan.
else: cubre el caso final cuando todo lo anterior es falso.
Flujo claro: las decisiones se leen como “si… entonces… de lo contrario…”.
Habilidades y conceptos practicados dentro de este contenido:
Booleanos: verdadero y falso para decisiones precisas.
Operadores de comparación: ==, !=, <, >, <=, >= para relacionar valores.
Operadores lógicos: and, or, not para combinar condiciones.
Tablas de verdad: comprensión visual de resultados lógicos.
Asignación vs igualdad: = asigna, == compara.
Control de flujo: if, elif, else para ejecutar rutas distintas.
Buena sintaxis: uso correcto de operadores y paréntesis.
¿Tienes un caso real donde combinarías varias comparaciones y operadores lógicos? Cuéntalo en los comentarios y probemos juntos la mejor forma de expresarlo en Python.
Tambien existen los operadores bitwise o operadores de bit, &; >>; <<, me costo mas entenderlos porque trabajan a nivel de bit, un pequeño ejemplo es 2 << 1 (desplaze 1 bit a la izquierda, 2 en bits es 0010, y desplazar 1 posicion quedaria 0100) y seria 4, es la misma mecanica con >>, con & compara a nivel de bit y retorna, es decir 5 & 4 ,
5 es 0101 y
4 es 0100
miramos que bits coinciden con 1
5 & 4 es 0100, y por consola nos retorna 4
Muy interesante! Gracias!
Interesante ¿Cuál es la aplicación más común con Python?
Muy buen diagrama, simplifica la manera de recordar como evalúa cada operador.
Se me ha hecho muy raro que en este curso casi no ha habido comentarios. 🤔
.
¡Deja tu Like 👍🏽 si estás haciendo el curso en 2021!
.
Participar en los comentarios enriquece a la comunidad.
El curso me esta gustando y creo que el profesor hace su mejor esfuerzo, pero definitivamente(hasta donde voy) no esta bien producido, o sea en una clase da conceptos un poco avanzados (que no se explican con detalle) y en la siguiente (como esta) da conceptos básicos(que explica paso por aso), no le veo coherencia en ese sentido, eso confunde un poco sobre todo a los menos experimentados.
Dime que te confunde y te ayudo
He tenido que investigar por mi cuenta lo de pip y el entorno virtual, terminé viendo un video en youtube de 40 min apróx.
En dicho video terminé subiendo una página web en heroku Jaja
Dejo una imagen con lo explicado en esta clase pero en la consola de Python
Gran aporte.
Nunca uttilice la palabra global para declarar variables dentro de una funcion. Simplemente con escribir la variable en el scope general deberia ser visible para todas las funcione, ahora lo intento y no me deja? que raro, buscare codigo viejo, pero estoy seguro de nunca haber usado la palabra global para esto
eso pasa en JavaScript. Python lo pide.
Este es un video de Freddy explica las tablas de verdad
Gracias @Erne_Vizcaino, con el vídeo de Freddy ya me quedó todo claro.
@Najack54 De nada si tienes alguna duda estare atento en ayudarte.👍
Mi código de este ejercicio
x =2y =3a =5b =6print('De acuerdo a los siguientes valores de variables')print('x=',x)print('y=',y)print('a=',a)print('b=',b)print('Sabemos que...')if x == y:print('"x" es igual que "y"')else:print('"x" no es igual que "y"')if x < y:print('"x" es menor que "y"')if x > y:print('"x" es mayor que "y"')if y < x:print('"y" es menor que "x"')if y > x:print('"y" es mayor que "x"')if x < y and a < b:print('"x" es menor que "y" y "a" es menor que "b"')if x < y or a > b:print('"x" es menor que "y" o "a" es mayor que "b"')if x > y or a < b:print('"x" es mayor que "y" o "a" es mayor que "b"')input()
Pues lo que uso yo es:
AND es verdadero solo si ambos son verdaderos
OR es falso solo si ambos son falsos
NOT pues este es lo contrario
Yo lo memorice así:
AND es verdadero solo si ambos son verdaderos
OR es verdadero sí alguno de los dos es verdadero
NOT lo contrario
quién usando Spyder?
Si por casualidad están trabajando sobre tablet o celular les recomiendo muchísimo este sitio web en el cual permite ejecutar código de prueba
Practico cuando no tenemos a la mano un computador
Bastante bueno para cuando no tenemos a mano una computadora
Definitivamente este curso es genial para quienes están empezando. Explica las cosas de manera muy detallada y bien puesta.
Felicitaciones al Profesor!
Excelente explicación, recomendable para recordar cosas básicas.
# Clase 11 Operadores de comparación en Python
"""Operadores de Comparación"""
X = 2
Y = 3
Y1 = 2
A = 5
B = 7
print(X == Y) # False
print(X == Y1) # True
print(X != Y) # True
print(X < Y) # True
print(X > Y) # False
print(X >= Y) # False
print(X <= Y) # True
print((X < Y) and (A < B)) # True
print((X < Y) and (A > B)) # False
print((X < Y) or (A > B)) # True
print(not (X < Y)) # False
if X < Y:
print("X es menor que Y")
else:
print("X no es menor que Y")
imagen del código que mencione.
hola, replique tu código y además investigué el error que te da,
creo que no queda claro cual es la operación lógica que quieres lograr y al colocar los input para que el usuario agregue los valores y además asignarle valores a las variables, creo que creas una confusión.
Por otro lado, en Python las asignaciones a=10, b=12, c=13 y d=10, siempre te daran error porque estas intentando asignarle valores a multiples variables de manera erronea, una forma de hacerlo en Python podría ser a, b, c, d = 10, 12, 13, 10.
De todos modos me gustó mucho que estas experimentando como hacer cosas e intentando crear estas operaciones lógicas, espero que en algo te haya funcionado mi explicación, sigue así.
buenas noches compañero, tienes toda la razón estaba realizando un ejercicio de prioridades de operadores lógicos de programación, no le había dado mas vueltas porque estoy realizando el curso de Programación Orientada a Objetos, para continuar con el programa de científico de datos, nunca pares de aprender
buenas tardes, realice el siguiente ejercicio y no me da el resultado lógico que programe.
a=int(input("a->"))
b=int(input("b->"))
c=int(input("c->"))
d=int(input("d->"))
a=10,b=12,c=13,d=10,
resultado= ((a>b) or (a<c) and ((a==c) or (a>=b)))
print (f"el rsultado es : {resultado}")
Hola, realicé el ejercicio en mi consola y lo que veo es que en la primer parte de la expresión (parte izquierda del and) falta un paréntesis para encapsular la expresión or. De ésta forma definimos la precedencia de operadores. A mí me funcionó bien la lógica.
Nota: veo que reasigna los valores obtenidos por "input" adelante.
Alguien me puede recomendar algún curso para entender mejor los diagramas de flujo y así entender mejor el uso de " if "?
En el curso de programación basica explican con más detalle el uso de los condicionales
Joel, te recomiendo el Curso de Programación Estructurada en este curso aprenderás a desarrollar programas eficientes recurriendo únicamente a sus 3 estructuras básicas: Secuencia, Decisiones e Iteraciones