Skip to main content
Curso Python 3.5

Curso Python – tema 2 – Estructuras condicionales

Aprende a trabajar con estructuras condicionales en Python

Hasta ahora, en el curso de Python, hemos visto cómo resolver los problemas más sencillos pero no podemos resolver todo utilizando estructuras secuenciales. Cuando tenemos que tomar una decisión aparecen las estructuras condicionales. Por ejemplo, en nuestra vida diaria hay momentos donde tenemos que decidir entre un pantalón u otro, un camino u otro. En estos casos es común resolver un problema combinando estructuras secuenciales y condicionales.

 

Estructura condicional simple

Podemos ver un ejemplo de una simple estructura condicional con el siguiente esquema

Curso Python - tema 2 - Estructuras condicionales

Podemos observar en el esquema que el rombo representa la condición y tenemos dos opciones que podemos tomar. Si la condición devuelve un resultado verdadero, ejecutará las opciones que se encuentren en su interior, si por el contrario es falso no realizará dicha acción.

Explicado esto, vamos a realizar el primer ejercicio, se plantea el siguiente problema.

Ingresar un valor por teclado, si es mayor que 5 mostrar un mensaje confirmándolo.

 

 

Podemos observar que siempre se hace la carga del número pero, en caso de ser inferior a 5, no mostraría ningún mensaje. La palabra clave if implica el inicio de una condición, seguidamente incluimos la condición y finalizamos la línea con el carácter dos puntos.

Una de las características de python que además ayuda a tener una estructura organizada es la indentación o sangrado de texto con cuatro espacios. Es decir, si queremos incluir una condición, el texto que deba ir en su interior debe ir con cuatro espacios con respecto al inicio de la palabra if. Podemos ver un listado de los posibles operadores, al final de este capítulo, justo antes de los ejercicios.

 

Estructura condicional compuesta

Podemos ver un ejemplo en el siguiente esquema

Curso Python - tema 2 - Estructuras condicionales

Cuando se presenta una elección, tenemos la opción de realizar una actividad u otra, es decir, tenemos operaciones diferentes a ejecutar si la condición es verdadera o es falsa. Lo más importante se tener claro que, una operación incluida en uno de los dos resultados de la condición, jamás se podrá ver desde el resultado opuesto al que esperamos. Por ejemplo, volviendo al ejercicio anterior, nunca habrá un momento en el cual nos aparezca el mensaje de que el número es mayor que 5 si el número no lo es (a no ser que cambiemos la condición).

Vamos a volver a realizar el ejercicio anterior pero, con la diferencia, de que si el número es menor de 5 nos informará también de este resultado. El problema en python sería de la siguiente forma:

 

 

Como podemos ver, si la condición es falsa, y queremos que realice una operación la forma sería incluyendo la palabra else en una línea nueva seguida del carácter dos puntos. Después las operaciones necesarias que queramos ejecutar separadas con 4 espacios con respecto a la línea de la palabra else.

 

Estructuras condicionales anidadas

Podemos ver un ejemplo en el siguiente esquema

Curso Python - tema 2 - Estructuras condicionales

Podemos tener infinidad de condiciones anidadas al igual que podemos ver en el ejemplo de la imagen. La principal condición que podemos ver es una estructura compuesta y la segunda condición es en este caso, una estructura simple. Es común que se representen este tipo de condiciones anidadas aunque esto es un simple ejemplo en comparación con lo que se puede ver normalmente en cualquier código.

Planteamos un ejemplo con el siguiente problema.

Confeccionar un programa que pida por teclado 3 notas de 3 alumnos diferentes, calcular el promedio e imprimir por pantalla alguno de los siguientes mensajes.

Si el promedio es mayor o igual a 7, mostrar “Promocionado”

Si el promedio es mayor o igual a 4 y menor que 7, mostrar “Regular”

Si el promedio es menor que 4, mostrar “Suspendido”

Ahora mostramos el problema ya codificado como ejemplo.

 

Como podemos ver, lo primero es obtener el valor de las tres notas. Una vez obtenidas calculamos el promedio, como podemos observar, podemos realizar operaciones separadas, separando cada operación entre paréntesis () y calculando posteriormente el valor en base a este primer resultado.

Tratando la condición, podemos observar cómo además la indentación es mayor conforme anidamos más condiciones.

 

Uso de operadores lógicos

Aparte de los operadores relacionales y matemáticos que podemos ver después de este pequeño apartado, podemos encontrar los operadores lógicos, los cuales nos permiten agrupar varias condiciones simples en una misma condicional.

Podemos ver un ejemplo en el siguiente problema.

Realizar un programa que permita la carga por teclado de un número entero e imprimir un mensaje si el número es mayor que 5 y menor que 10.

 

 

Como podemos ver en el ejemplo, realizamos dos comprobaciones en la misma condicional. En este caso, se utiliza el operador lógico ‘and’ que permite obtener un resultado si las dos condiciones son verdaderas, también podríamos utilizar el operador ‘or’, si queremos que realice nuestras operaciones si se cumple alguna de las condiciones, por ejemplo con el siguiente problema.

Se pide realizar un programa que permita cargar 2 números enteros y muestre un mensaje si uno de los dos tiene un valor superior a 5.

 

 

Con este ejemplo, vemos como utilizando el operador or, podemos realizar la operación si se realiza una de las dos condiciones, es decir, que uno de los dos números sea superior a 5.

 

Operadores

En una condición deben disponerse únicamente variables, valores constantes, operadores relacionales y operadores lógicos. Entre los diferentes operadores podemos ver los siguientes:

Operadores relacionales

  • == Igualdad
  • != Desigualdad
  • < Menor
  • > Mayor
  • <= Menor o igual
  • >= Mayor o igual

Operadores matemáticos

  • + Suma
  • – Resta
  • * Multiplicación
  • / División de flotantes
  • // División de enteros
  • % Resto de una división
  • ** Exponenciación

Operadores lógicos

  • and Y
  • or O

Los operadores and y or, nos permiten crear una mejor estructura condicional, permitiéndonos de esta manera, incluir varias comprobaciones en una misma condicional.

Los problemas que pueden presentarse son infinitos y la correcta elección del operador dependerá de lo que queramos obtener.

Se plantean los siguientes problemas para las estructuras condicionales simples y compuestas.

 

Problemas propuestos

Ejercicio1

Realizar un programa que solicite la carga por teclado de dos valores enteros. Si el primero es mayor al segundo, informar de la suma y la resta de ambos valores, si por el contrario es inferior, calcular el producto y la división de estos números.

Ver

 

Ejercicio 2

Se ingresa la nota de un alumno, si la nota es igual o superior a 5 informar de que ha aprobado, si es inferior informar de que ha suspendido.

Ver

 

Ejercicio 3

Se ingresa por teclado un número entero positivo de uno o dos dígitos, mostrar un mensaje con el número de dígitos de los que está compuesto.

Ver

 

 

Ejercicio 4

Realizar un programa que pida cargar tres números enteros. Mostrar por pantalla el mayor de ellos.

Ver

 

Ejercicio 5

Realizar un programa que pida cargar un número entero por teclado. Mostrar un mensaje si el número es positivo, negativo o nulo (es decir, 0)

Ver

 

Ejercicio 6

Realizar un programa que permita cargar un número entero de 1, 2 o 3 dígitos. Mostrar un mensaje con el número de dígitos de que está compuesto o un mensaje de error si tiene más de 3 dígitos.

Ver

 

Ejercicio 7

Un alumno realiza un examen. Se requiere la creación de un programa que solicite cargar el total de preguntas del examen y el total de respuestas correctas que ha ingresado el alumno.  Calcular el promedio y mostrar un mensaje en función de las respuestas correctas.

Sobresaliente -> promedio mayor o igual al 90%

Notable -> promedio mayor o igual al 70% y menor del 90%

Aprobado -> promedio mayor o igual al 50% y menor del 70%

Suspendido -> promedio menor del 50%

Ver

 

Ejercicio 8

Realizar un programa que solicite la carga de tres valores enteros. Estos valores serán día, mes y año. Comprobar si corresponde al día 1 de los meses enero o febrero.

Ver

 

Ejercicio 9

Realizar un programa que solicite la carga de tres valores enteros. Si los tres números son iguales realizar la suma de los dos primeros y el producto de estos con el tercero. Si son diferentes mostrar un mensaje informando de ello.

Ver

 

Ejercicio 10

Realizar un programa que solicite 3 valores enteros. Imprimir un mensaje mostrando si todos son menores de 10.

Ver

 

Además tenéis la lista completa de ejercicios en nuestro repositorio en github.

Con esto acabamos el segundo capítulo de nuestro curso de python 3.5. Si tienen cualquier duda relacionada con el contenido explicada en este capítulo, pueden exponerla en sus comentarios y le ayudaremos a resolverla lo antes posible. Nos vemos en el siguiente capítulo con las estructuras repetitivas.

<- Anterior Volver al índice Siguiente ->

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *