Al igual que en otros lenguajes de programación, en Python, las situaciones condicionales se pueden manejar usando el comando if
.
En este tutorial, hemos explicado lo siguiente con ejemplos:
- Ejemplo básico del comando
if
en Python para números - Operadores del comando
if
en Python - Ejemplo básico del comando
if
en Python para la comparación de cadenas - Múltiples comandos en el bloque de condición
if
usando sangría - Ejemplo del comando
if else
en Python - Ejemplo del comando
if else if
en Python - Ejemplo de declaración
if
compuesta en Python - AND, OR, NOT en el comando
if
de Python - Mensajes de error del comando
if
de Python
Esta es la sintaxis de la declaración if en Python. Los siguientes ejemplos mostrarán cómo se puede usar correctamente esta sintaxis.
"if" [expresión] ":" [bloque de código 1]
( "elif" [expresión] ":" [bloque de código 2] )*
["else" ":" [bloque de código 3]]
#1. Ejemplo básico del comando if en Python para números
El siguiente ejemplo ilustra cómo usar el comando if en Python cuando se realiza una prueba condicional usando números.
# cat if1.py
days = int(input("¿Cuántos días hay en marzo?: "))
if days == 31:
print("Pasaste la prueba.")
print("¡Gracias!")
En el ejemplo anterior:
- Primera línea: Aquí, solicitamos la entrada del usuario. La entrada será un entero, que se almacenará en la variable
days
. - Segunda línea: Este es el comando if, donde estamos comparando si el valor de la variable
days
es igual al valor numérico 31. Los dos puntos al final forman parte de la sintaxis del comando if, que debe incluirse. - Tercera línea: Esta línea comienza con una sangría de dos espacios al principio. Cualquier línea (una o más) que siga a la instrucción if, que tenga una sangría similar al principio, se considera parte del bloque de la instrucción if. En este ejemplo, solo tenemos una línea después de la instrucción if, que es esta tercera línea, que tiene dos espacios al principio para la sangría. Entonces, esta línea se ejecutará cuando la condición de la instrucción if sea verdadera. Es decir, si el valor de la variable
days
es igual a 31, esta tercera línea se ejecutará. - Cuarta línea: Esta línea está fuera del bloque de la instrucción if. Entonces, se ejecutará tanto si la instrucción if es verdadera como si es falsa.
La siguiente es la salida del ejemplo anterior, cuando la condición de la instrucción if
es verdadera.
# python if1.py
¿Cuántos días hay en marzo?: 31
Pasaste la prueba.
¡Gracias!
La siguiente es la salida del ejemplo anterior, cuando la condición de la instrucción if es falsa.
# python if1.py
¿Cuántos días hay en marzo?: 30
¡Gracias!
Si eres nuevo en Python, esto te dará una excelente introducción a las Variables, Cadenas y Funciones de Python.
#2. Operadores del comando if en Python
Los siguientes son los diversos operadores que puedes usar en el comando if para las comprobaciones condicionales.
Condición | Operador |
---|---|
Mayor que | > |
Mayor que o igual | >= |
Menor que | < |
Menor que o igual | <= |
Igual a | == |
Diferente de | != |
Para identidad de objeto | is |
Para identidad de objeto negada | is not |
#3. Ejemplo básico del comando if en Python para la comparación de cadenas
Similar al ejemplo anterior, también podemos usar el comando if de Python para la comparación de cadenas como se muestra en el ejemplo a continuación.
# cat if2.py
code = raw_input("¿Cuál es el código de estado de 2 letras para California?: ")
if code == 'CA':
print("Pasaste la prueba.")
print("¡Gracias!")
En el código anterior:
- Primera línea: Aquí estamos obteniendo la entrada sin procesar del usuario y almacenándola en la variable
code
. Esto se almacenará como una cadena. - Segunda línea: En este comando if, estamos comparando si el valor de la variable
code
es igual a la cadenaCA
. Ten en cuenta que hemos incluido el valor de la cadena estática entre comillas simples (no comillas dobles). Los dos puntos al final forman parte de la sintaxis del comando if. - Tercera línea: Como se explicó en el ejemplo anterior, esta línea se ejecutará cuando la condición del comando if sea verdadera, ya que esta línea tiene una sangría con espacios al principio.
- Cuarta línea: Esta línea se ejecutará tanto si la condición del comando if es verdadera como si es falsa.
La siguiente es la salida del código de ejemplo anterior tanto para la condición if verdadera como para la falsa.
# python if2.py
¿Cuál es el código de estado de 2 letras para California?: CA
Pasaste la prueba.
¡Gracias!
# python if2.py
¿Cuál es el código de estado de 2 letras para California?: NV
¡Gracias!
#4. Múltiples comandos en el bloque de condición if usando sangría
En el ejemplo anterior, solo teníamos una instrucción que se ejecutaba cuando la condición if era verdadera.
El siguiente ejemplo muestra dónde se ejecutarán varias líneas cuando la condición if sea verdadera. Esto se hace haciendo una sangría adecuada al principio de las instrucciones que deben ser parte del bloque de condición if, como se muestra a continuación.
# cat if3.py
code = raw_input("¿Cuál es el código de estado de 2 letras para California?: ")
if code == 'CA':
print("Pasaste la prueba.")
print("Estado: California")
print("Capital: Sacramento")
print("Ciudad más grande: Los Ángeles")
print("¡Gracias!")
En el código anterior:
- Primera línea: Aquí estamos obteniendo la entrada sin procesar del usuario y almacenándola en la variable
code
. Esto se almacenará como una cadena. - Segunda línea: En este comando if, estamos comparando si el valor de la variable
code
es igual a la cadenaCA
. Ten en cuenta que hemos incluido el valor de la cadena estática entre comillas simples (no comillas dobles). Los dos puntos al final forman parte de la sintaxis del comando if. - Tercera línea a la sexta línea: Todas estas líneas tienen una sangría igual al principio de la instrucción. En este ejemplo, las 4 instrucciones
print
tienen 2 espacios al principio. Entonces, estas instrucciones se ejecutarán cuando la condición if se vuelva verdadera. - Séptima línea: Esta instrucción
print
no tiene la misma sangría que los comandos anteriores. Entonces, no es parte del bloque de la instrucción if. Esta línea se ejecutará independientemente de si la instrucción if es verdadera o falsa.
La siguiente es la salida del ejemplo anterior, cuando la condición de la instrucción if es verdadera. Aquí, las 4 instrucciones print
que son parte del bloque de condición if se ejecutan.
# python if3.py
¿Cuál es el código de estado de 2 letras para California?: CA
Pasaste la prueba.
Estado: California
Capital: Sacramento
Ciudad más grande: Los Ángeles
¡Gracias!
La siguiente es la salida del ejemplo anterior, cuando la condición de la instrucción if es falsa.
# python if3.py
¿Cuál es el código de estado de 2 letras para California?: NV
¡Gracias!
#5. Ejemplo del comando if else en Python
El siguiente ejemplo muestra cómo usar el comando if..else
en Python.
# cat if4.py
days = int(input("¿Cuántos días hay en marzo?: "))
if days == 31:
print("Pasaste la prueba.")
else:
print("No pasaste la prueba.")
print("¡Gracias!")
En el ejemplo anterior:
- Primera línea: Aquí, estamos solicitando la entrada del usuario. La entrada será un entero, que se almacenará en la variable
days
. - Segunda línea: Este es el comando if, donde estamos comparando si el valor de la variable
days
es igual al valor numérico 31. Los dos puntos al final forman parte de la sintaxis del comando if, que debe incluirse. - Tercera línea: Esta línea comienza con una sangría de dos espacios al principio. Cualquier línea (una o más) que siga a la instrucción if, que tenga una sangría similar al principio, se considera parte del bloque de la instrucción if para la condición verdadera.
- Cuarta línea: Esta tiene la palabra clave else para este bloque if. Los dos puntos al final forman parte de la sintaxis del comando if..else, que debe incluirse.
- Quinta línea: Esta línea comienza con una sangría de dos espacios al principio. Cualquier línea (una o más) que siga a la instrucción else, que tenga una sangría similar al principio, se considera parte del bloque de la instrucción if para la condición falsa.
- Sexta línea: Esta línea está fuera del bloque de la instrucción if. Entonces, se ejecutará tanto si la instrucción if es verdadera como si es falsa.
El siguiente ejemplo también es similar al ejemplo anterior, pero este if..else usa una variable de cadena para la comparación.
# cat if5.py
code = raw_input("¿Cuál es el código de estado de 2 letras para California?: ")
if code == 'CA':
print("Pasaste la prueba.")
else:
print("No pasaste la prueba.")
print("¡Gracias!")
La siguiente es la salida de los ejemplos anteriores, cuando la condición de la instrucción if es falsa. Es decir, el bloque else se ejecutará aquí.
# python if4.py
¿Cuántos días hay en marzo?: 30
No pasaste la prueba.
¡Gracias!
# python if5.py
¿Cuál es el código de estado de 2 letras para California?: NV
No pasaste la prueba.
¡Gracias!
#6. Ejemplo del comando if else if en Python
En Python, if else if
se maneja usando el formato if elif else
.
El siguiente ejemplo muestra cómo usar el comando if..elif..else en Python.
# cat if6.py
code = raw_input("Escribe un código de estado de 2 letras que comience con la letra C: ")
if code == 'CA':
print("CA es California")
elif code == 'CO':
print("CO es Colorado")
elif code == 'CT':
print("CT es Connecticut")
else:
print("Inválido. Por favor, ingresa un código de estado válido que comience con la letra C")
print("¡Gracias!")
En el código anterior:
- Cuando la primera condición if
code == 'CO'
falla, entonces pasa a la siguiente instrucción elif. - Cuando la condición elif
code == 'CO'
falla, entonces pasa a la siguiente instrucción elifcode == 'CT'
. - Cuando la condición elif
code == 'CT'
falla, entonces simplemente ejecuta lo que esté disponible como parte del bloque finalelse:
. - En cualquier momento en que la primera condición if se vuelva verdadera, o cualquiera de las condiciones elif restantes se vuelva verdadera, entonces ejecuta la instrucción que es parte de su bloque y deja de comprobar más condiciones.
- Esto también significa que cuando cualquiera de las condiciones if o elif se vuelve verdadera, la instrucción que es parte del bloque else no se ejecutará.
- Además, al igual que en el ejemplo anterior, los dos puntos al final de las instrucciones if, elif, else son parte de la sintaxis de Python, que debe especificarse.
La siguiente es la salida cuando la primera condición if se vuelve verdadera.
# python if6.py
Escribe un código de estado de 2 letras que comience con la letra C: CA
CA es California
¡Gracias!
La siguiente es la salida cuando la primera condición elif se vuelve verdadera.
# python if6.py
Escribe un código de estado de 2 letras que comience con la letra C: CO
CO es Colorado
¡Gracias!
La siguiente es la salida cuando la segunda condición elif se vuelve verdadera.
# python if6.py
Escribe un código de estado de 2 letras que comience con la letra C: CT
CT es Connecticut
¡Gracias!
La siguiente es la salida cuando la condición if es falsa, y todas las demás condiciones elif también son falsas. Aquí, esto ejecuta el bloque else.
# python if6.py
Escribe un código de estado de 2 letras que comience con la letra C: NV
Inválido. Por favor, ingresa un código de estado válido que comience con la letra C
¡Gracias!
#7. Ejemplo de declaración if compuesta en Python
El siguiente ejemplo muestra cómo puedes usar comandos condicionales compuestos en la instrucción if.
# cat if7.py
a = int(input("Ingresa a: "))
b = int(input("Ingresa b: "))
c = int(input("Ingresa c: "))
if a < b < c:
print("Éxito. a < b < c")
En el código anterior:
- El bloque
print
se ejecutará solo cuando la condición if sea verdadera. Aquí, estamos usando una expresión compuesta para la instrucción if, donde solo será verdadera cuando a sea menor que b y b sea menor que c.
La siguiente es la salida cuando la condición if se vuelve verdadera.
# python if7.py
Ingresa a: 10
Ingresa b: 20
Ingresa c: 30
Éxito. a < b < c
La siguiente es la salida cuando la condición if se vuelve falsa.
# python if7.py
Ingresa a: 10
Ingresa b: 10
Ingresa c: 20
#8. AND, OR, NOT en el comando if de Python
También puedes usar los siguientes operadores en las expresiones del comando if de Python.
Operador | Condición | Desc |
---|---|---|
and | x and y | Verdadero solo cuando x e y son verdaderos. |
or | x or y | Verdadero si x o y son verdaderos. |
not | not x | Verdadero si x es falso. Falso si x es verdadero. |
El siguiente ejemplo muestra cómo podemos usar la palabra clave «and» en la condición if de Python.
# cat if8.py
x = int(input("Ingresa un número > 10 y < 20: "))
if x > 10 and x < 20:
print("Éxito. x > 10 y x < 20")
else:
print("¡Por favor, intenta de nuevo!")
En el código anterior:
- La instrucción if será verdadera solo cuando ambas condiciones mencionadas en la instrucción if sean verdaderas.
- Es decir, x debe ser mayor que 10 Y x también debe ser menor que 20 para que esta condición sea verdadera. Entonces, básicamente el valor de x debe estar entre 10 y 20.
La siguiente es la salida cuando la condición if se vuelve verdadera. Es decir, cuando ambas expresiones mencionadas en la instrucción if son verdaderas.
# python if8.py
Ingresa un número > 10 y < 20: 15
Éxito. x > 10 y x < 20
La siguiente es la salida cuando la condición if se vuelve falsa. Es decir, solo una de las expresiones mencionadas en la instrucción if es verdadera. Entonces, toda la instrucción if se vuelve falsa.
# python if8.py
Ingresa un número > 10 y < 20: 5
¡Por favor, intenta de nuevo!
#9. Mensajes de error del comando if de Python
Los siguientes son algunos de los mensajes de error que podrías ver al usar el comando if
.
Este error IndentationError
ocurre cuando no se da una sangría adecuada para la instrucción que sigue al comando if.
# python if9.py
File "if3.py", line 4
print("Estado: California")
^
IndentationError: unindent does not match any outer indentation level
El siguiente SyntaxError
ocurre cuando no se especifican los dos puntos :
al final de la instrucción if de Python
# python if9.py
File "if.py", line 2
if days == 31
^
SyntaxError: invalid syntax
El mismo SyntaxError
ocurrirá cuando se especifique un operador que no es válido. En este ejemplo, no hay ningún operador llamado -eq
en Python. Entonces, este comando if falla con un error de sintaxis. También obtendrás un SyntaxError
similar cuando especifiques elseif
en lugar de elif
.
# python if9.py
File "if.py", line 2
if days -eq 31:
^
SyntaxError: invalid syntax
¡Ayúdanos compartiendo el artículos y siguiéndonos en nuestras redes sociales!