Declaraciones condicionales en python

Los desarrolladores siempre tienen que tomar decisiones, para esto utilizan condicionales en python: ¿Cómo lidiarías con este problema? ¿Está utilizando la tecnología X o la tecnología Y? ¿Qué lenguaje de programación puedo usar para resolver este problema? Puede que tenga que tomar la decisión en código.

Aquí hay algunas cosas comunes que el código verifica diariamente:

  • ¿Tienes derecho a hacer esto?
  • ¿Es esta una dirección de correo electrónico válida?
  • ¿El valor es válido para este campo?

Estos tipos se controlan mediante sentencias condicionales en python. Este tema a menudo se denomina flujo de control. En Python, puede usarlo para controlar el flujo de un programa. if, elif cuando else declaración. Aunque generalmente no se recomienda, también puede usar el manejo de excepciones para realizar tipos de flujo de control difusos.

Recomendado: frameworks para python

También en algunos lenguajes de programación. switch Devolver a case Instrucciones que se pueden utilizar para controlar el flujo. Python no los tiene.

¡Comencemos aprendiendo los operadores de comparación en python!

Operador de comparación en python

Antes de comenzar a trabajar con expresiones condicionales en python, es útil comprender los operadores de comparación. Puede usar operadores de comparación para preguntar si algo es igual a otra cosa, o si es mayor o menor que un valor.

Los operadores de comparación de Python se muestran en la siguiente tabla.

significado de operadores

>> >>más grande – es True El operando izquierdo es mayor que el operando derecho
<menos que – es True El operando izquierdo es menor que el operando derecho
==Igual – es True solo si ambos operandos son iguales
! ! ==no es igual – es True si los operandos no son iguales
>==eso es todo – eso es True Cuando el operando izquierdo es mayor o igual que el operando derecho
<=Abajo – esto es True Cuando el operando izquierdo es menor o igual que el operando derecho

Ahora que conoce los operadores de comparación que puede usar en Python, puede comenzar a usarlos.

He aquí algunos ejemplos.

>>> a = 2
>>> b = 3
>>> a == b
False
>>> a > b
False
>>> a < b
True
>>> a >= b
False
>>> a <= b
True
>>> a != b
True

Continúe y experimente usted mismo con los operadores de comparación en Python REPL. Es una buena idea probarlo para que pueda entender completamente lo que está pasando.

Ahora veamos cómo crear sentencias condicionales.

Sencilla creación de condiciones en python.

Puede crear una declaración condicional para dividir su código en dos o más rutas diferentes. Tomemos la autenticación como ejemplo. Si desea acceder a su cuenta de correo web en una computadora nueva, deberá iniciar sesión para revisar su correo. El código en la página de inicio carga el cuadro de correo electrónico o le pide que inicie sesión cuando llegue allí.

Usar una declaración condicional para verificar que su código haya verificado/aprobado la visualización de su correo electrónico es una opción bastante segura. Si es así, cargará su correo electrónico. De lo contrario, se cargará la pantalla de inicio de sesión.

Vamos a crear un ejemplo que simule la autenticación:

>>> authenticated = True
>>> if authenticated:
...     print('You are logged in')
... 
You are logged in

En este ejemplo, crearemos un authenticated instalación True..luego use Python para crear la declaración condicional if Palabras clave. Las condiciones de Python toman la siguiente forma:

if <expression>:
    # do something herepy

Para crear una condición, comience con la palabra ifseguido de una expresión terminada con dos puntos. Al calcular la fórmula TrueSe ejecuta el código bajo la condición.

Si authenticated definir como False  después de eso, no se imprime nada.

Problemas de sangría en Python

Python se preocupa por la sangría. Un bloque de código es un grupo de líneas de código con sangría uniforme. Python usa esta sangría para determinar dónde comienzan y terminan los bloques de código.

En otros lenguajes, se utilizan paréntesis o punto y coma para marcar el inicio o el final de un bloque de código.

En Python, debe sangrar su código de manera uniforme. Si no hace esto correctamente, su código puede ser difícil de diagnosticar.

Otra advertencia. No mezcle tabulaciones y espacios. IDLE luego se queja y el código puede ser difícil de diagnosticar. La Guía de estilo de Python (PEP8) recomienda usar cuatro espacios para sangrar los bloques de código. Puede sangrar su código en cualquier cantidad de espacios, siempre que sea consistente. Sin embargo, generalmente recomendamos cuatro espacios.

Sin embargo, este código es mejor si maneja ambos casos. ¡Así que piensa en una manera!

Rama de declaración condicional en python

En muchos casos, debe hacer cosas diferentes según la respuesta a la pregunta. Entonces, en esta situación ficticia, debe decirle al usuario que no está autenticado para que pueda iniciar sesión.

Puedes usar palabras clave para que funcione else:

>>> authenticated = False
>>> if authenticated:
...     print('You are logged in')
... else:
...     print('Please login')
... 
Please login

Lo que hace este código es authenticated muestra «Iniciar sesión» y muestra «Iniciar sesión» cuando no haya iniciado sesión en el programa real print() declaración. Si hay un código que redirige al usuario a la página de inicio de sesión, o si el usuario está autenticado, ejecute el código para cargar la bandeja de entrada.

Veamos una nueva escena. El siguiente fragmento de código crea una declaración condicional que confirma su edad y le permite comprar diferentes artículos según los factores.

>>> age = 10
>>> if age < 18:
...     print('You can buy candy')
... elif age < 21:
...     print('You can purchase tobacco and candy, but not alcohol')
... elif age >= 21:
...     print('You can buy anything!')
... 
You can buy candy

Entonces, lo que estamos haciendo aquí es comparar la edad con varios valores codificados. Los compradores solo pueden comprar dulces si es menor de 18 años.

Si tienes entre 18 y 21 años, puedes comprar cigarrillos. Por supuesto, los cigarrillos no son buenos para ti y no deberían serlo, pero existen restricciones de edad en la mayoría de los lugares. A continuación, compruebe si el comprador tiene más de 21 años. Después de eso, el comprador puede comprar lo que quiera.

Puedes cambiar el ultimo elif simplemente else, use cláusulas según sea necesario, pero Python recomienda que los desarrolladores usen el código explícitamente, elif en estas circunstancias.

Puedes usar cualquier número elif en las declaraciones se hacen según sea necesario, pero generalmente son largas if/elif afirma que su código puede necesitar ser reescrito.

Condiciones anidadas en python

Puedes poner if otra declaración interna en otra declaración if. Esto se llama anidamiento.

Pongamos un ejemplo:

>>> age = 21
>>> car="Ford"
>>> if age >= 21:
...     if car in ['Honda', 'Toyota']:
...         print('You buy foreign cars')
...     elif car in ['Ford', 'Chevrolet']:
...         print('You buy American')
... else:
...     print('You are too young!')
... 
You buy American

Este código se basa en dos variables, por lo que puede usar varias rutas. age cuando car si la edad es mayor a cierto valor, se ordena en este bloque de código, ejecutando el anidado if, verificar tipo car si age simplemente imprime un mensaje si es menor que cualquier cantidad.

En teoría, puedes anidar condiciones tantas veces como quieras. Sin embargo, cuanto más anidamiento hay, más complicado se vuelve depurar más tarde. En la mayoría de los casos, el anidamiento debe mantenerse a uno o dos niveles de profundidad.

Afortunadamente, los operadores lógicos ayudan a aliviar este problema.

Operadores logicos en python

Los operadores lógicos le permiten encadenar varias expresiones utilizando palabras clave especiales.

Los tres operadores lógicos soportados por Python son:

  • and – es todo True si ambos operandos son verdaderos
  • or ―――― True si un operando es verdadero
  • not ―――― True si el operando es falso

Usemos operadores lógicos. and Aplane la declaración condicional usando el ejemplo en la sección anterior.

>>> age = 21
>>> car="Ford"
>>> if age >= 21 and car in ['Honda', 'Toyota']:
...     print('You buy foreign cars')
... elif age >= 21 and car in ['Ford', 'Chevrolet']:
...     print('You buy American')
... else:
...     print('You are too young!')
... 
You buy American

La primera verificación condicional verifica si el auto tiene más de 21 años y está en la lista de autos japoneses. Estás abajo porque no son ellos dos. elif y verifique estas condiciones. Esta vez ambas condiciones son True, sí que imprima sus preferencias de automóvil.

Veamos qué pasa cuando cambiamos and por or:

>>> age = 21
>>> car="Ford"
>>> if age >= 21 or car in ['Honda', 'Toyota']:
...     print('You buy foreign cars')
... elif age >= 21 or car in ['Ford', 'Chevrolet']:
...     print('You buy American')
... else:
...     print('You are too young!')
... 
You buy foreign cars

¡Espera un minuto! ¡Dices que tu auto es un «Ford» pero este código indica que compraste un auto extranjero!

Al usar la lógica or es decir, si es una declaración, ejecute el código en ese bloque de código sera True.

Vamos a desglosarlo Hay dos expresiones if age >= 21 or car in ['Honda', 'Toyota'], el primero es age >= 21, será evaluado como True, una vez que Python reconoce or la primera declaración es True.Su valoración del conjunto es la siguiente True, tienes más de 21 a regresar a «Tu coche es un Ford». De cualquier manera, es cierto y el código se ejecuta.

Usar not es un poco diferente. Este ejemplo no funciona en absoluto, así que necesito escribir algo más.

Aquí hay un método que puede usar con not:

>>> mi_lista = [1, 2, 3, 4]
>>> 5 not in mi_lista
True

En este caso, el número entero es not entonces list..

Usemos otro ejemplo de autenticación para mostrar cómo usarlo. not:

>>> ids = [1234, 5678]
>>> my_id = 1001
>>> if my_id not in ids:
...     print('You are not authorized!')
... 
You are not authorized!

Este es un conjunto conocido de identificadores. Estos identificadores pueden ser números (como se muestra aquí), direcciones de correo electrónico, etc. De todos modos, debe verificar si es la identificación especificada. my_id Está en la lista de identificadores conocidos. De lo contrario, puede informar al usuario que no está autorizado para continuar.

También puede combinar operadores lógicos en declaraciones condicionales. Aquí un ejemplo:

>>> hair="brown"
>>> age = 21
>>> if age >= 21 and (hair == 'brown' or hair == 'blue'):
...     print(f'You are {age} years old with {hair} hair')
... else:
...     print(f'You are too young at {age} years old')
... 
You are 21 years old with brown hair

Esta vez ejecutaremos la primera mitad del código. if Instrucciones cuando tienes 21 años o más y tienes cabello castaño o azul. Para facilitar la lectura, encierre la segunda y la tercera expresión entre paréntesis.

Operador especial en python

Puede utilizar algunos operadores especiales en expresiones condicionales en python. De hecho, ya usamos uno en la sección anterior.

¿Recuerdas cuál usaste?

  • is ―――― True si los operandos son los mismos (es decir, si los identificadores son los mismos)
  • is not ―――― True Si los operandos no son los mismos
  • in ―――― True si el valor está en la secuencia
  • not in ―――― True si el valor no está en secuencia

Usaste el último, not in Determine si la identificación no está en la lista de acceso autorizado.

Los dos primeros deben ser probados. Con id() quiero saber si un elemento se refiere al mismo objeto (o ID). Los dos últimos se utilizan para verificar la pertenencia. En otras palabras, desea saber si los artículos están en orden.

Veamos cómo funcionan los identificadores.

>>> x = 'hi'
>>> y = 'hi'
>>> x is y
True
>>> id(x)
140328219549744
>>> id(y)
140328219549744

Si asigna la misma cadena a dos variables diferentes, Python apunta a ambas variables, por lo que sus ID son las mismas x cuando y al mismo ID o ubicación de memoria.

A ver si pasa lo mismo al crear una lista.

>>> x = [1, 2, 3]
>>> y = [1, 2, 3]
>>> x is y
False
>>> id(x)
140328193994832
>>> id(y)
140328193887760
>>> x == y
True

Las listas de Python se comportan de forma ligeramente diferente. Cada lista tiene su propia ID, por lo que si prueba la ID aquí, se verá así: False tenga en cuenta que cuando finalmente probamos la equivalencia, las dos listas son iguales entre sí.

Puedo usar in cuando not in Prueba si está en orden. Las secuencias se refieren a listas en python, cadenas, tuplas en python, etc.

Una forma de utilizar este conocimiento es:

>>> valid_chars="yn"
>>> char="x"
>>> if char in valid_chars:
...     print(f'{char} is a valid character')
... else:
...     print(f'{char} is not in {valid_chars}')
... 
x is not in yn

Aquí, char en la cuerda valid_chars de lo contrario, imprime cuáles son los caracteres válidos.

Trata de cambiar char y conviértalo en un carácter válido, como «y» minúscula o «n» minúscula, y vuelva a ejecutar el código.

Palabras finales

Las declaraciones condicionales en python son muy útiles para la programación. Úselos con frecuencia para tomar decisiones basadas en sus elecciones. También utiliza declaraciones condicionales basadas en respuestas ingresadas desde bases de datos, sitios web y otros programas.

Crear una declaración condicional realmente buena puede requerir habilidad, pero con un pensamiento cuidadoso y esfuerzo en su código, puede hacerlo.

¿ Te fue útil este artículo ?
⬇️ Ayudame compartiendo para poder llegar a más personas.⬇️

6 comentarios en «Declaraciones condicionales en python»

  1. ¿Quién más se confunde con la sangría en Python? ¡Es un dolor de cabeza! 🤯

    • ¡Totalmente de acuerdo! La sintaxis de la sangría en Python puede ser confusa al principio, pero con práctica se vuelve más intuitiva. ¡Ánimo y sigue adelante, que al final vale la pena dominar este lenguaje! 💪🐍

  2. ¿Alguien más piensa que la sangría en Python es una pesadilla? ¡Necesitamos soluciones! 🤔

  3. ¿Y qué tal si exploramos cómo las declaraciones condicionales en Python afectan la eficiencia del código? 🤔

    • ¡Buena idea! Las declaraciones condicionales en Python pueden tener un impacto en la eficiencia del código. Es importante considerar cómo se estructuran para optimizar el rendimiento. ¿Alguna recomendación para mejorar la eficiencia en este sentido? ¡Comparte tus conocimientos! 💡

  4. ¿Y qué tal si exploramos cómo los problemas de sangría en Python afectan realmente nuestro código? 🤔

Los comentarios están cerrados.