Flujo de control en Python
Este artículo explica el flujo de control en Python.
YouTube Video
Declaración if
en Python
La declaración if
en Python es una sintaxis para la bifurcación condicional. Se utiliza para ejecutar un bloque de código si una condición específica se evalúa como True
(verdadero).
Sintaxis Básica
La declaración if
en Python básicamente sigue la estructura a continuación.
1x = 10
2
3if x > 5: # Check if the condition(x > 5) is True
4 # If the condition is True, execute this code block
5 print("x is greater than 5")
En este ejemplo, se imprime "x es mayor que 5"
si la variable x
es mayor que 5.
Declaración else
Usar else
después de una declaración if
te permite especificar el código a ejecutar cuando la condición es falsa.
1x = 3
2
3if x > 5:
4 print("x is greater than 5")
5else:
6 print("x is less than or equal to 5")
En este ejemplo, la salida será "x es menor o igual a 5"
.
Declaración elif
Si necesitas verificar múltiples condiciones, puedes usar elif
, que significa "else if".
1x = 5
2
3if x > 5:
4 print("x is greater than 5")
5elif x == 5:
6 print("x is equal to 5")
7else:
8 print("x is less than 5")
En este ejemplo, se imprime "x es igual a 5"
.
Notas
- Se requiere dos puntos (
:
) después deif
,elif
oelse
. - El bloque de código que se ejecuta cuando una condición es verdadera debe estar indentado. En Python, la indentación estándar suele ser de 4 espacios, pero otros números de espacios están bien siempre que seas consistente.
- Puedes usar cualquier expresión que se evalúe como un valor booleano como condición. Esto significa que puedes usar expresiones condicionales combinadas con operadores de comparación o lógicos.
Dominar la declaración if
en Python te permite controlar el flujo de ejecución del programa de manera flexible.
Bifurcación condicional múltiple en Python
Hay varias formas de implementar una funcionalidad similar a switch
en Python, como en otros lenguajes. En Python, es común usar declaraciones if-elif-else
o diccionarios para crear estructuras similares a una declaración switch
.
Método 1: Declaración if-elif-else
La forma más sencilla es usar la declaración if-elif-else
para realizar bifurcaciones condicionales.
1def switch_example(value):
2 if value == 1:
3 return "Value is one"
4 elif value == 2:
5 return "Value is two"
6 elif value == 3:
7 return "Value is three"
8 else:
9 return "Unknown value"
10
11print(switch_example(1)) # Output: Value is one
12print(switch_example(4)) # Output: Unknown value
Método 2: Usar Diccionarios
Al mapear funciones o valores a un diccionario, es posible crear una estructura similar a una declaración switch
. Esto es conveniente cuando deseas realizar operaciones diferentes para valores específicos.
1def case_one():
2 return "Value is one"
3
4def case_two():
5 return "Value is two"
6
7def case_default():
8 return "Unknown value"
9
10def switch_example(value):
11 switch_dict = {
12 1: case_one,
13 2: case_two
14 }
15
16 # Use get() method to retrieve the corresponding function from the dictionary
17 # If the value is not found in the dictionary, use case_default as a fallback
18 return switch_dict.get(value, case_default)()
19
20print(switch_example(1)) # Output: Value is one
21print(switch_example(3)) # Output: Unknown value
Método 3: Declaración match
(Python 3.10 y posteriores)
La declaración match
se introdujo en Python 3.10. Es una sintaxis de coincidencia de patrones que proporciona una funcionalidad similar a una declaración switch
.
1def switch_example(value):
2 match value:
3 case 1:
4 return "Value is one"
5 case 2:
6 return "Value is two"
7 case 3:
8 return "Value is three"
9 case _:
10 return "Unknown value"
11
12print(switch_example(1)) # Output: Value is one
13print(switch_example(4)) # Output: Unknown value
Resumen
- Declaración
if-elif-else
: Simple y adaptable a muchos casos. - Diccionarios: Usa mapeos de funciones o valores para permitir bifurcaciones eficientes.
- Declaración
match
: Permite bifurcaciones más intuitivas en Python 3.10 y posteriores. Más parecido a una declaraciónswitch
.
Bucles For en Python
La sentencia for
de Python se utiliza para iterar sobre cada elemento de un objeto iterable, como una lista, cadena o diccionario. La sintaxis básica de una declaración for
es la siguiente:.
1# Loop through each item in the iterable
2for variable in iterable:
3 # Execute this block of code for each item in the iterable
4 code_to_execute
Aquí hay algunos ejemplos específicos:.
Ejemplo Usando una Lista
1fruits = ["apple", "banana", "cherry"]
2for fruit in fruits:
3 print(fruit)
Este código llama a la función print
para cada elemento de la lista fruits
, mostrando el nombre de cada fruta.
Ejemplo Usando range()
La función range()
genera enteros dentro de un rango específico, lo que la hace útil para iteraciones numéricas.
1for i in range(5):
2 print(i)
range(5)
genera enteros del 0 al 4. En este caso, 0, 1, 2, 3, 4
se mostrará secuencialmente.
Ejemplo Usando un Diccionario
En el caso de los diccionarios, las claves se iteran por defecto, pero también puedes obtener pares clave-valor.
1person = {"name": "Alice", "age": 25}
2for key in person:
3 print(key, person[key])
Alternativamente, use el método items()
para recuperar simultáneamente claves y valores.
1person = {"name": "Alice", "age": 25}
2for key, value in person.items():
3 print(key, value)
Bucle for
anidado
También es posible anidar bucles for
para realizar procesos de iteración complejos.
1matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
2for row in matrix:
3 for num in row:
4 print(num)
Este código itera a través de cada fila de la lista matrix
y muestra secuencialmente los números de cada fila.
continue
para omitir una iteración y break
para terminar un bucle
Usar continue
dentro de un bucle for
omitirá la iteración actual y pasará a la siguiente. Además, usar break
terminará completamente el bucle.
1for i in range(10):
2 if i == 5:
3 continue
4 if i == 8:
5 break
6 print(i)
En este ejemplo, el bucle se salta cuando i
es 5 y termina cuando i
es 8. Por lo tanto, la salida será 0, 1, 2, 3, 4, 6, 7
.
El bucle for
de Python es altamente flexible y puede usarse en una variedad de escenarios. Dependiendo del tipo de procesamiento iterativo que quieras realizar, se puede usar en combinación con listas, diccionarios, cadenas y range()
.
Bucle while
en Python
En Python, el bucle while
es una estructura de control utilizada para ejecutar repetidamente el código dentro del bloque mientras la condición sea True
. La sintaxis básica del bucle while
es la siguiente:.
1while condition:
2 # This block of code will be executed repeatedly as long as the condition is true
3 statement1
4 statement2
5 ...
Ejemplo:
En el siguiente ejemplo, se utiliza un bucle while
para mostrar los números del 1 al 5.
1i = 1
2while i <= 5:
3 print(i)
4 i += 1
Este código funciona de la siguiente manera.
- Comienza con
i
igual a 1, imprimei
mientras sea menor o igual a 5, e incrementai
en 1 cada vez.
Nota:
Debes tener en cuenta los siguientes puntos al usar la sentencia while
.
-
Cuidado con los bucles infinitos
- Si la condición en un bucle
while
es siempreTrue
, esto dará lugar a un bucle infinito. Se deben realizar operaciones adecuadas para cambiar la condición; de lo contrario, el programa no se detendrá.
- Si la condición en un bucle
-
Usando
break
ycontinue
:break
se utiliza cuando deseas salir del bucle antes de tiempo.continue
omite la iteración actual y comienza la siguiente. Ten cuidado, porque condiciones incorrectas en el bucle pueden causar un bucle infinito.
Ejemplo de break
:
1i = 1
2while i <= 5:
3 if i == 3:
4 break # Exit the loop when i becomes 3
5 print(i)
6 i += 1
- En este caso, después de que se imprimen
1
y2
, el bucle termina cuandoi
se convierte en3
.
Ejemplo de continue
:
1i = 0
2while i < 5:
3 i += 1
4 if i == 3:
5 # Skip the print statement and move to the next loop iteration when i is 3
6 continue
7 print(i)
- En este caso, la salida se omite solo para
3
, lo que da como resultado1, 2, 4, 5
. - Al incrementar el valor de
i
al principio del bucle, el contador avanza incluso si se ejecutacontinue
, evitando así un bucle infinito.
Puedes seguir el artículo anterior utilizando Visual Studio Code en nuestro canal de YouTube. Por favor, también revisa nuestro canal de YouTube.