4Geeks logo
4Geeks logo

Bootcamps

Explora nuestra extensa colección de cursos diseñados para ayudarte a dominar varios temas y habilidades. Ya seas un principiante o un aprendiz avanzado, aquí hay algo para todos.

Academia

Aprende en vivo

Únete a nosotros en nuestros talleres gratuitos, webinars y otros eventos para aprender más sobre nuestros programas y comenzar tu camino para convertirte en desarrollador.

Próximos eventos en vivo

Catálogo de contenidos

Para los geeks autodidactas, este es nuestro extenso catálogo de contenido con todos los materiales y tutoriales que hemos desarrollado hasta el día de hoy.

Tiene sentido comenzar a aprender leyendo y viendo videos sobre los fundamentos y cómo funcionan las cosas.

Full-Stack Software Developer - 16w

Data Science and Machine Learning - 16 wks

Buscar en lecciones


IngresarEmpezar
← Regresar a lecciones

Weekly Coding Challenge

Todas las semanas escogemos un proyecto de la vida real para que construyas tu portafolio y te prepares para conseguir un trabajo. Todos nuestros proyectos están construidos con ChatGPT como co-pilot!

Únete al reto

Podcast: Code Sets You Free

Un podcast de cultura tecnológica donde aprenderás a luchar contra los enemigos que te bloquean en tu camino para convertirte en un profesional exitoso en tecnología.

Escuchar el podcast
  • If...else

  • Condicionales

  • Operaciones lógicas

  • Python

  • Condicion

Editar en Github

Condicionales en la programación en Python

Introducción a los condicionales en Python

Introducción a los condicionales en Python

Dominar el uso de las condiciones es una de las 5 habilidades fundamentales para construir algoritmos:

  1. Variables.
  2. Condicionales.
  3. Listas.
  4. Bucles (Loops).
  5. Funciones.

El uso de condicionales es la única forma en que los desarrolladores tienen para decirle a la computadora cómo tomar decisiones en tiempo real.

Digamos que estamos construyendo un programa para ayudarnos a elegir qué ponernos y odiamos el color azul, podemos decirle a la computadora que evite el azul usando una condición como esta:

1if color == 'blue': 2 # Haz algo 3else: 4 # Haz otra cosa

Condicionales

👉 El uso de switch no está disponible en Python

Primero veamos ¿qué es una expresión lógica en Python?

La forma más fácil de entender expresiones lógicas (al menos para esta lectura en particular), es pensar en ellas como en preguntas que le puedes hacer al computador sobre nuestras variables, por ejemplo:

  1. if user_age > 21:
  2. if day == "tuesday":
  3. if car_model == "toyota" and number_of_tires == 6:

Para hacer una pregunta, o excusar condicionalmente un conjunto particular de líneas, primero necesitas tener datos (información) almacenados en variables útiles, arriba tenemos las variables user_age, day, car_model y number_of_tires.

Si no tenemos la información prealmacenada en variables no podemos hacer ninguna pregunta, ¡todo es cuestión de estrategia y planificación!

Por ejemplo, si tenemos la edad del usuario almacenada en una variable edad entonces, y solo entonces, podremos codificar algo como:

1# Se utiliza dos veces igual (==) cuando quieres comparar en lugar de asignar el valor 2if edad == 25: 3 print("¡Eres mayor de edad!")

¿Qué tipo de condiciones/preguntas podemos usar/hacer?

El ejemplo anterior era una condición simple, pero en la vida real elegir qué ponerse implica una combinación de varias condiciones para tomar la decisión final, por ejemplo: Veamos este algoritmo que te dice si tienes gripe.

Algoritmo de la gripe

Si desea representar este algoritmo en Python, se verá así:

1siento_que_me_atropello_un_tren = True 2me_atropello_un_tren = False 3 4if siento_que_me_atropello_un_tren == True: 5 if me_atropello_un_tren == True: 6 print("No tienes gripe") 7 else: 8 print("Tienes gripe") 9else: 10 print("No tienes gripe")

Básicamente, este algoritmo tiene dos variables a considerar: siento_que_me_atropello_un_tren y me_atropello_un_tren. Nuestro trabajo como desarrolladores es sentarnos y tratar de preparar una estrategia para llegar a un algoritmo que resuelva un problema.

Operadores lógicos en Python

Para hacer una pregunta, tenemos las siguientes comparaciones: ==, >, <, !=, is None, is not None, in:

OperadorEjemploDescripción
==if a == bSi el valor de la variable a es igual a b
<if a < bSi el valor de a es menor que b
>if a > bSi el valor de a es mayor que b
!=if a != bSi el valor de a es diferente de b
is not Noneif a is not NoneSi a es diferente de None
is Noneif a is NoneSi el valor de a es igual a None
inif name in ['bob','maria','nancy']Si el valor de name está contenido dentro de la lista de nombres

Operadores AND y OR en Python

Otra forma de escribir el algoritmo es combinar preguntas en la misma condición utilizando los operadores AND y OR:

1siento_que_me_atropello_un_tren = True 2me_atropello_un_tren = False 3 4if siento_que_me_atropello_un_tren and me_atropello_un_tren: 5 print("No tienes gripe") 6elif siento_que_me_atropello_un_tren: 7 print("Tienes gripe")

Como puedes ver, usamos elif por primera vez, para codificar más rápido. Otro truco que puedes usar es el siguiente:

OriginalEquivalente
En lugar de if siento_que_me_atropello_un_tren == trueescribes if siento_que_me_atropello_un_tren
En lugar de if me_atropello_un_tren == falseescribes if not me_atropello_un_tren

If...else en Python

También puedes usar la expresión else para referirte a la negación de la primera condición:

1if color "azul": 2 # Descarta esta prenda de vestir 3else: 4 # Guárdala en mi armario 5 6edad = 12 7if (edad > 18): 8 print("Es mayor de edad") 9else: 10 print("No es mayor de edad")

También puedes anidar condiciones if...else una sobre la otra, de esta forma:

1if edad < 16: 2 # No puedes hacer nada 3elif age < 18: 4 # A estas alturas, ya sabemos que es mayor de 15 porque si no, no hubiese ingresado a la primera condición 5elif age < 21: 6 # Si el algoritmo ingresa aquí, sabemos que es mayor de 17 7else: 8 # Si el algoritmo ingresa aquí, sabemos que es mayor de 20

Aquí hay otro ejemplo que ejecuta un algoritmo para saber si un número tiene centenas:

1valor = 14 2 3if valor < 10: 4 print("El valor es una unidad") 5elif valor < 100: 6 print("El valor es una decena") 7elif valor < 1000: 8 print("El valor es una centena") 9elif valor < 10000: 10 print("El valor es una unidad de mil") 11else: 12 print("El valor es un número más allá de los miles")

El switch en Python

Python no tiene una sentencia switch.

Conclusión

Hay que saber qué preguntas hacer. El ejemplo anterior era una condición simple, pero en la vida real, elegir qué hacer implica una combinación de varias condiciones para tomar la decisión final, por ejemplo:

Veamos este algoritmo que le dice a una computadora cómo decidir qué ponerse durante el día de San Valentín:

Qué ponerme en San Valentín

1if voy_a_salir: 2 if puedo_comprar_hamburguesa: 3 if venden_vino: 4 # Haz algo 5 else: 6 if blazers > 3: 7 # Haz algo 8 else: 9 # Haz algo 10 elif usa_pantalones: 11 # Haz algo 12 else: 13 # Haz algo 14else: 15 if desnudo_al_llegar: 16 # Haz algo 17 elif blazers > 3: 18 # Haz algo 19 else: 20 # Haz algo