- 1 1. Introducción
- 2 2. Estructura básica de la sentencia if
- 2.1 Estructura básica
- 2.2 Importancia de la indentación
- 2.3 Qué es una expresión condicionalh3>La expresión condicional utilizada en la sentencia if una expresión que devuelve True o False. Cuando la expresión condicional es True, el código dentro de la sentencia if se ejecuta. Por ejemplo, en el siguiente código la condición se cumple y se muestra el mensaje.
- 3 3. Operadores de comparación y operadores lógicos
- 4 4. Sentencia if-else
- 5 5. Sentencia if-elif-else
- 6 6. if anidados
- 7 7. Forma abreviada de expresiones condicionales (operador ternario)
- 8 8. Precauciones en la sentencia if
- 9 9. Resumen
1. Introducción
Python se caracteriza por una sintaxis simple e intuitiva, y es uno de los lenguajes que muchos principiantes en programación aprenden primero. Dentro de ello, la ‘ramificación condicional’ es un elemento indispensable para controlar el comportamiento del programa. En este capítulo, aprenderemos sobre la ‘sentencia if’ que constituye la base de la ramificación condicional en Python.
Importancia de la ramificación condicional en Python
Para que un programa realice diferentes procesos basados en condiciones específicas, se necesita ramificación condicional. La sentencia if
de Python es la sintaxis básica para implementar esta ramificación condicional. Comprenderla mejora notablemente la flexibilidad y capacidad de aplicación del programa.
Función de la sentencia if
if
ejecuta el proceso especificado solo cuando se cumple una condición determinada. Al usar esta estructura, el programa puede operar de forma dinámica según la entrada o el entorno externo.
2. Estructura básica de la sentencia if
La sentencia if
de Python es muy simple, y puede ser comprendida intuitivamente incluso por quienes aprenden programación por primera vez. En este capítulo se explica la estructura básica y el uso de la sentencia if
.
Estructura básica
La estructura básica de la sentencia if
de Python es la siguiente.
if condicion:
codigo_a_ejecutar
Importancia de la indentación
En Python, la jerarquía del código se representa mediante la indentación (sangrado). El código que se ejecuta cuando la condición de la sentencia if
se cumple debe escribirse con una indentación un nivel más profunda.Ejemplo: caso de indentación correcta
if 10 > 5:
print("10 es mayor que 5")
Ejemplo: caso de indentación incorrecta
if 10 > 5:
print("10 es mayor que 5") # Se produce un error
En Python, si la indentación no es correcta se produce un error, por lo que se debe tener cuidado.
Qué es una expresión condicionalh3>La expresión condicional utilizada en la sentencia if
una expresión que devuelve True
o False
. Cuando la expresión condicional es True
, el código dentro de la sentencia if
se ejecuta. Por ejemplo, en el siguiente código la condición se cumple y se muestra el mensaje.
if 5 == 5:
print("La condición es verdadera")
Por otro lado, si la condición no se cumple, el código dentro de la sentencia if
se ignora.
if 5 != 5:
print("Este código no se ejecutará")
3. Operadores de comparación y operadores lógicos
En la sentencia if
de Python, los «operadores de comparación» y los «operadores lógicos» son esenciales para construir expresiones condicionales. En este capítulo se explican en detalle cada operador y sus ejemplos de uso concretos.
Qué son los operadores de comparación
Los operadores de comparación comparan dos valores y devuelven True
o False
. A continuación se muestran los principales operadores de comparación utilizados en Python.
Operador | Significado | Ejemplo | Resultado |
---|---|---|---|
== | Igual | 5 == 5 | True |
!= | No igual | 5 != 3 | True |
> | Mayor que | 5 > 3 | True |
< | Menor que | 5 < 3 | False |
>= | Mayor o igual que | 5 >= 5 | True |
<= | Menor o igual que | 3 <= 5 | True |
Ejemplo: ramificación condicional usando operadores de comparación
x = 10
if x > 5:
print("x es mayor que 5")
Qué son los operadores lógicos
Los operadores lógicos se utilizan para combinar múltiples expresiones condicionales. Los operadores lógicos más usados en Python son los siguientes tres.
Operador | Significado | Ejemplo | Resultado |
---|---|---|---|
and | cuando ambas condiciones son True | 5 > 3 and 10 > 5 | True |
or | cuando cualquiera de las dos es True | 5 > 3 or 10 < 5 | True |
not | Invierte el valor lógico de la condición | not 5 > 3 | False |
Ejemplo: ramificación condicional usando operadores lógicos
x = 10
y = 20
if x > 5 and y > 15:
print("x es mayor que 5 y y es mayor que 15")
Combinar operadores de comparación y operadores lógicos
En la sentencia if
, se pueden combinar operadores de comparación y operadores lógicos para manejar condiciones complejas. Ejemplo: combinar múltiples condiciones
age = 25
income = 50000
if age > 18 and income > 30000:
print("Cumple con los requisitos")
En este código, la condición se cumple cuando age
es mayor o igual a 18 años y income
es mayor o igual a 30000.
4. Sentencia if-else
Además de la sentencia if
básica, se utiliza la sentencia else
para especificar el procesamiento cuando la condición no se cumple. En este capítulo se explica la estructura y el uso de la sentencia if-else
.
Estructura básica de la sentencia if-else
La estructura de la sentencia if-else
es la siguiente.
if condition:
process_when_condition_true
else:
process_when_condition_false
Ejemplos de uso
A continuación se muestra un ejemplo sencillo que utiliza la sentencia if-else
.Ejemplo: Uso de la sentencia if-else
x = 10
if x > 5:
print("x es mayor que 5")
else:
print("x es menor o igual a 5")
En este código, si x
es mayor que 5 se muestra el primer mensaje, y en caso contrario se ejecuta el procesamiento del else
.
Ejemplo práctico
if-else
se utiliza con frecuencia para procesamiento dinámico basado en la entrada del usuario o en condiciones.Ejemplo: Ramificación condicional basada en la entrada del usuario
number = int(input("Ingrese un número: "))
if number % 2 == 0:
print("Es par")
else:
print("Es impar")
5. Sentencia if-elif-else
Al procesar múltiples condiciones, si se intenta manejar solo con la sentencia if
, el código puede volverse engorroso. En tales casos, al aprovechar la sentencia if-elif-else
de Python, se pueden manejar múltiples condiciones de manera eficiente. En este capítulo, se explica la estructura y ejemplos de uso de la sentencia if-elif-else
.
Estructura básica del if-elif-else
La sentencia if-elif-else
tiene una estructura como la siguiente.
if condicion1:
Proceso cuando la condicion1 se cumple
elif condicion2:
Proceso cuando la condicion2 se cumple
else:
Proceso cuando ninguna condición se cumple
elif
es una abreviatura de «else if» y se utiliza para verificar múltiples condiciones en secuencia.
Ejemplo de uso
Lo siguiente es un ejemplo simple que utiliza la sentencia if-elif-else
.Ejemplo: ramificación condicional basada en rangos numéricos
score = 85
if score >= 90:
print("Evaluación: A")
elif score >= 80:
print("Evaluación: B")
elif score >= 70:
print("Evaluación: C")
else:
print("Evaluación: D")
En este ejemplo, se muestran mensajes diferentes según el valor de score
.
Importancia de elif
Al utilizar elif
, las condiciones se evalúan en secuencia, por lo que incluso si múltiples condiciones se superponen, se puede avanzar en el procesamiento de manera eficiente.Ejemplo: prioridad de condiciones
temperature = 30
if temperature > 35:
print("Día de calor extremo")
elif temperature > 25:
print("Día caluroso")
elif temperature > 15:
print("Día cómodo")
else:
print("Día frío")
En este código, solo se ejecuta la primera condición que coincide y las condiciones posteriores se omiten.
Omisión de else
else
no es obligatoria y se puede omitir según sea necesario. En particular, se puede omitir cuando no hay problema incluso si no se especifica claramente el procesamiento para todas las condiciones.Ejemplo: caso de omisión de else
age = 20
if age >= 18:
print("Adulto")
elif age >= 13:
print("Adolescente")
6. if anidados
Cuando las condiciones son aún más complejas, puede usar la sentencia if
anidada (nest). En este capítulo explicamos cómo escribir sentencias if
anidadas y los puntos a considerar.
Estructura básica de los if anidados
La estructura de los if
anidados es la siguiente.
if condicion1:
if condicion2:
condicion1_y_condicion2_ambos_satisfechos
Ejemplo de uso
A continuación se muestra un ejemplo que utiliza sentencias if
anidadas.Ejemplo: combinar dos condiciones
age = 25
income = 40000
if age > 18:
if income > 30000:
print("Adulto y con ingresos suficientes")
else:
print("Adulto, pero ingresos insuficientes")
else:
print("Menor de edad")
En este código se combinan las condiciones de edad e ingreso para la evaluación.
Precauciones
El uso excesivo de anidamiento puede dificultar la lectura del código. Por ello, es importante mantenerlo conciso separando las expresiones condicionales o aprovechando los operadores lógicos.Ejemplo: simplificar el anidamiento
age = 25
income = 40000
if age > 18 and income > 30000:
print("Adulto con ingresos suficientes")
elif age > 18:
print("Adulto, pero ingresos insuficientes")
else:
print("Menor de edad")
7. Forma abreviada de expresiones condicionales (operador ternario)
En Python, se puede usar el “operador ternario” como método para escribir una bifurcación condicional simple en una sola línea. En este capítulo se explican la sintaxis básica del operador ternario, ejemplos de uso y consideraciones.
Sintaxis básica del operador ternario
El operador ternario se escribe con la siguiente sintaxis.
valor1 if condicion else valor2
condición
esTrue
, se devuelvevalor1
.condición
esFalse
, se devuelvevalor2
.
Ejemplos de uso
Ejemplo: Evaluación de números
x = 10
result = "número positivo" if x > 0 else "número negativo"
print(result)
En este código, si x
es mayor que 0, se muestra «número positivo», de lo contrario se muestra «número negativo».Ejemplo: Determinación del valor máximo
a, b = 5, 10
max_value = a if a > b else b
print(f"El valor máximo es {max_value}")
En este ejemplo, se determina cuál de a
y b
es mayor, y se asigna ese valor a max_value
.
Operador ternario anidado
El operador ternario puede anidarse, pero hay que tener cuidado porque el código puede volverse difícil de leer.Ejemplo: Operador ternario anidado
x = 0
result = "Número positivo" if x > 0 else "Número negativo" if x < 0 else "Cero"
print(result)
En este código, se determina si x
es un número positivo, negativo o cero.
Consideraciones
- El operador ternario es conciso y útil, pero no es adecuado para expresiones condicionales complejas. Cuando la condición es compleja, usar la sentencia
if-else
normal mejora la legibilidad. - El uso excesivo del operador ternario reduce la legibilidad del código, por lo que se debe emplear en los contextos adecuados.
8. Precauciones en la sentencia if
Al usar la sentencia if
de Python, es necesario comprender algunas características y precauciones. En este capítulo se explican los puntos para evitar errores y problemas comunes.
Evaluación de None y valores vacíos
En Python, None
y los valores vacíos (cadenas vacías, listas vacías, etc.) se evalúan como False
.Ejemplo: Evaluación de None
x = None
if not x:
print("x es None")
Ejemplo: Evaluación de valores vacíos
items = []
if not items:
print("La lista está vacía")
Diferencia entre is
y ==
==
compara la igualdad de valores.is
compara la identidad del objeto (si es el mismo objeto en memoria).
Ejemplo: Diferencia entre is
y ==
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b) # True (valores iguales)
print(a is b) # False (objetos diferentes)
Precauciones en expresiones condicionales
Cuando la expresión condicional se vuelve compleja, es recomendable usar paréntesis para aclarar la prioridad de los operadores.Ejemplo: Expresión condicional usando paréntesis
x = 10
y = 5
if (x > 5 and y < 10) or x == 10:
print("La condición se ha cumplido")

9. Resumen
En esta serie, hemos aprendido los conceptos básicos y avanzados del enunciado if
de Python. En este capítulo, revisaremos el contenido hasta ahora y organizaremos los puntos importantes.
Fundamentos del enunciado if
de Python
if
ejecuta un código específico solo cuando la condición esTrue
.- En Python, la sangría determina la estructura del código, por lo que una sangría correcta es importante.
Sintaxis básica
if condicion:
codigo_a_ejecutar
Extensión de la ramificación condicional
if-else
permite especificar el procesamiento también cuando la condición esFalse
.if-elif-else
permite manejar múltiples condiciones de manera eficiente.
Ejemplo: sentencia if-elif-else
score = 75
if score >= 90:
print("Evaluación: A")
elif score >= 75:
print("Evaluación: B")
else:
print("Evaluación: C")
Procesamiento de condiciones complejas
- Al combinar operadores de comparación y operadores lógicos, se pueden describir condiciones más complejas.
- Al usar sentencias
if
anidadas, también es posible manejar condiciones jerárquicas.
Ejemplo: expresión condicional compleja
age = 25
income = 50000
if age > 18 and income > 30000:
print("Cumple con las condiciones")
Uso de la forma abreviada (operador ternario)
- Para escribir una ramificación condicional simple en una sola línea, se usa el operador ternario.
- Sin embargo, no es adecuado para condiciones complejas, por lo que a veces es mejor usar la sentencia
if-else
normal.
Ejemplo: operador ternario
result = "Aprobado" if score >= 60 else "Reprobado"
Puntos a tener en cuenta
- Los valores vacíos y
None
se tratan comoFalse
. - Comprenda la diferencia entre
is
y==
y úselos adecuadamente. - Cuando la expresión condicional se vuelve compleja, es importante usar paréntesis para aclarar la precedencia.
Próximos pasos
La sentencia if
de Python no solo permite aprender los fundamentos de la ramificación condicional, sino que también es una herramienta importante que mejora significativamente la flexibilidad del programa. Como próximo paso, se recomienda avanzar a los siguientes temas.
- Combinación de bucles y ramificación condicional
- Aprenda a usar la sentencia
if
dentro de buclesfor
ywhile
.
- Manejo de excepciones
- Aprenda la sentencia
try-except
para manejar adecuadamente los errores en el programa.
- Funciones y ramificación condicional
- Domine cómo usar la ramificación condicional dentro de funciones para crear código reutilizable.
Con esto concluye la explicación de la sentencia if
de Python. Utilice este conocimiento para…