Python Declaraciones condicionales: IF...Else, ELIF y Switch Case
โก Resumen inteligente
Python Las sentencias condicionales dirigen el flujo del programa ejecutando bloques de cรณdigo especรญficos solo cuando las expresiones booleanas se evalรบan como verdaderas. Incluyen if, else, elif, if anidado, el operador ternario y la coincidencia de patrones estructurales para una lรณgica clara y orientada a la toma de decisiones.

ยฟQuรฉ son las declaraciones condicionales en Python?
Declaraciones condicionales en Python Realizan diferentes cรกlculos o acciones dependiendo de si una restricciรณn booleana especรญfica se evalรบa como verdadera o falsa. Permiten que un programa tome decisiones y siga diferentes caminos en lugar de ejecutar cada lรญnea en secuencia. Python, las declaraciones condicionales son manejadas por el if sentencia y sus complementos: else, elif y if anidado.
ยฟQuรฉ es Python ยฟSi declaraciรณn?
La Python si la declaraciรณn Se utiliza para operaciones de toma de decisiones. Contiene un cuerpo de cรณdigo que se ejecuta solo cuando la condiciรณn dada en la instrucciรณn if es verdadera. Si la condiciรณn es falsa, se ejecuta la instrucciรณn else opcional, que contiene el cรณdigo para la condiciรณn else. Cuando se desea actuar sobre una condiciรณn mientras otra no es verdadera, se utiliza la Python declaraciรณn si-si no.
Python si sintaxis de la declaraciรณn:
if expression:
statement
else:
statement
Python si... si no, diagrama de flujo
El diagrama de flujo anterior muestra cรณmo fluye el control a travรฉs de una instrucciรณn if-else. Veamos un ejemplo de la Python Sentencia if-else en acciรณn:
# Example file for working with conditional statements
def main():
x, y = 2, 8
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Lรญnea 3: Definimos dos variables x, y = 2, 8.
- Code Lรญnea 4: La instrucciรณn if comprueba la condiciรณn x < y, que es Cierto en este caso.
- Code Lรญnea 5: La variable st se establece en โx es menor que yโ.
- Code Lรญnea 6: La lรญnea print(st) imprime el valor de st, que es โx es menor que yโ.
ยฟQuรฉ sucede cuando no se cumple la condiciรณn "si"?
Basรกndonos en el ejemplo anterior, veamos quรฉ sucede cuando la condiciรณn if en Python no se cumple. Cuando la condiciรณn es falsa y no existe ninguna rama else, el cรณdigo indentado se omite por completo.
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Lรญnea 3: Definimos dos variables x, y = 8, 4.
- Code Lรญnea 4: La instrucciรณn if comprueba la condiciรณn x < y, que es Falso en este caso.
- Code Lรญnea 5: La variable st es establecido en "x es menor que y".
- Code Lรญnea 6: La lรญnea print(st) intenta imprimir una variable que nunca fue declarada, por lo que Python plantea un Error de nombre.
Cรณmo usar la condiciรณn โelseโ
Para evitar el error anterior, puedes aรฑadir una condiciรณn `else`. Esta condiciรณn se utiliza cuando necesitas evaluar una instrucciรณn en funciรณn de otra. Si una condiciรณn es falsa, el bloque `else` proporciona una ruta alternativa para que el programa siga produciendo un resultado.
Ejemplo:
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Lรญnea 3: Definimos dos variables x, y = 8, 4.
- Code Lรญnea 4: La instrucciรณn if comprueba la condiciรณn x < y, que es Falso en este caso.
- Code Lรญnea 6: El flujo de control del programa pasa a la condiciรณn else.
- Code Lรญnea 7: La variable st se establece en โx es mayor que tรบโ.
- Code Lรญnea 8: La lรญnea print(st) imprime el valor de st, que es โx es mayor que yโ.
Cuando la condiciรณn โelseโ no funciona
La condiciรณn `else` no siempre darรก el resultado deseado. Puede imprimir una salida incorrecta si hay un fallo en la lรณgica del programa. Esto suele ocurrir cuando se deben justificar mรกs de dos instrucciones o condiciones en un programa. Un ejemplo le ayudarรก a comprender este concepto.
Aquรญ ambas variables son iguales (8, 8), sin embargo, la salida del programa es โx es mayor que yโ, cual es MALEsto sucede porque el programa verifica la primera condiciรณn (la condiciรณn if) y, si falla, imprime la segunda condiciรณn (la condiciรณn else) como valor predeterminado. En el siguiente paso, veremos cรณmo corregir este error.
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
Cรณmo usar la condiciรณn โelifโ
Para corregir el error anterior cometido por la condiciรณn else, podemos usar el elif Enunciado. Al usar la condiciรณn `elif`, le indicas al programa que compruebe una tercera posibilidad cuando la primera condiciรณn sea falsa. Puedes encadenar varias condiciones `elif` para comprobar una cuarta, quinta y otras posibilidades en tu cรณdigo.
Ejemplo:
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
elif(x == y):
st = "x is same as y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Lรญnea 3: Definimos dos variables x, y = 8, 8.
- Code Lรญnea 4: La instrucciรณn if comprueba la condiciรณn x < y, que es Falso en este caso.
- Code Lรญnea 6: El flujo de control del programa pasa a la condiciรณn elif. Esta comprueba si x == y, lo cual es verdadero.
- Code Lรญnea 7: La variable st se establece en โx es mismo como y ".
- Code Lรญnea 10: El programa de control sale de la instrucciรณn if (no llegarรก a la instrucciรณn else) e imprime st. La salida es โx es igual que yโ, lo cual es correcto.
Cรณmo ejecutar una instrucciรณn condicional con un mรญnimo de cรณdigo Code
Ahora que puedes escribir bloques if-elif-else completos, Python te permite condensar una condiciรณn simple en una sola lรญnea. En lugar de escribir cรณdigo separado para cada rama, puedes usar una expresiรณn ternaria (condicional).
Sintaxis:
value_if_true if condition else value_if_false
Ejemplo:
def main():
x, y = 10, 8
st = "x is less than y" if (x < y) else "x is greater than or equal to y"
print(st)
if __name__ == "__main__":
main()
- Code Lรญnea 2: Definimos dos variables x, y = 10, 8.
- Code Lรญnea 3: La variable st se establece en โx es menor que yโ si x < y; de lo contrario, se convierte en โx es mayor o igual que yโ. Como aquรญ x > y, st se convierte en el segundo valor.
- Code Lรญnea 4: Imprime el valor de st y proporciona la salida correcta.
Python Declaraciรณn if anidada
Una instrucciรณn if anidada coloca una instrucciรณn if dentro de otra, lo cual es รบtil cuando una decisiรณn depende de una segunda condiciรณn. El siguiente ejemplo demuestra una instrucciรณn if anidada en Python que calcula el barcoping El precio se basa en el paรญs y el total del pedido.
total = 100
# country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("Shipping Cost is $50")
elif total <= 100:
print("Shipping Cost is $25")
elif total <= 150:
print("Shipping Cost is $5")
else:
print("FREE")
if country == "AU":
if total <= 50:
print("Shipping Cost is $100")
else:
print("FREE")
Descomenta la lรญnea 2 del cรณdigo anterior, comenta la lรญnea 3 y vuelve a ejecutar el cรณdigo para ver cรณmo cambia el resultado para un paรญs diferente.
Declaraciรณn de caso de cambio en Python
ยฟQuรฉ es una instrucciรณn switch?
Una instrucciรณn switch es una instrucciรณn de bifurcaciรณn mรบltiple que compara el valor de una variable con los valores especificados en las instrucciones case. Durante muchos aรฑos, la Python El lenguaje no tenรญa una instrucciรณn switch, por lo que los desarrolladores implementaron el mismo comportamiento con Python diccionario mapaping.
Ejemplo usando un mapa de diccionarioping:
def switch_example(argument):
switcher = {
0: "This is Case Zero",
1: "This is Case One",
2: "This is Case Two",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
Cambiar caso con coincidencia (Python 3.10 y Later)
Desde Python 3.10 (lanzado en octubre de 2021), Python proporciona un nativo caja de cerillas Esta instrucciรณn, conocida como coincidencia de patrones estructurales, ofrece una alternativa clara y legible a las largas cadenas de elif y al enfoque de diccionario que se muestra arriba.
def switch_example(argument):
match argument:
case 0:
return "This is Case Zero"
case 1:
return "This is Case One"
case 2:
return "This is Case Two"
case _:
return "nothing"
if __name__ == "__main__":
print(switch_example(1))
El guion bajo (_) actรบa como el caso predeterminado, coincidiendo con cualquier valor no manejado por los casos anteriores, al igual que el valor predeterminado en una instrucciรณn switch tradicional.
if vs elif vs else: Comparaciรณn rรกpida
Utilice esta comparaciรณn para decidir quรฉ estructura condicional se ajusta mejor a su lรณgica de toma de decisiones.
| Comunicado | Propรณsito | Cuรกndo usar |
|---|---|---|
| if | Se ejecuta un bloque cuando se cumple una condiciรณn. | Una รบnica decisiรณn de sรญ o no |
| siโฆde lo contrario | Proporciona una alternativa cuando la condiciรณn es falsa. | Dos resultados mutuamente excluyentes |
| elif | Prueba condiciones adicionales en secuencia | Tres o mรกs posibilidades |
| Anidado si | Coloca un if dentro de otro if. | Una decisiรณn que depende de una segunda condiciรณn. |
| Ternario | Condensa la estructura if-else en una sola lรญnea. | Asignaciรณn de valor simple |
| caja de cerillas | Compara un valor con muchos patrones. | Ramificaciรณn de mรบltiples vรญas (Python 3.10 +) |







