Pythonizate "Aprendiendo a programar"
Índice
Contenido | Post |
---|---|
Introducción | Tutorial "Pythonizate: Aprendiendo a Programar" - Introducción |
Instalación de entorno de desarrollo y primeros programas | "Pythonizate: Aprendiendo a Programar" - Instalación de entorno de desarrollo y primeros programas |
Números, Operadores y Tipos de Datos. | Tutorial "Pythonizate: Fundamentos de Programación” – Números, Operadores y Tipos de Datos. |
Listas, Tuplas, Diccionario y Entrada por Teclado. | Tutorial "Pythonizate: Fundamentos de Programación” - Listas, Tuplas, Diccionario y Entrada por Teclado |
¡Hola mis queridos entusiastas de la programación! En el post del día de hoy vamos a aprender sobre las estructuras de control de flujo, que se divide en dos: estructuras de control condicionales y estructuras de control iterativas.
¿Qué es una estructura de control de flujo?
Los programas que hemos realizado hasta ahora han sido todos secuenciales, es decir, las líneas de código se realizan una tras otra, desde la primera hasta la ultima línea y siguiendo el mismo orden. Sin embargo, existe la posibilidad de alterar el flujo de ejecución de las instrucciones, mediante una estructura de control de flujo.
El primer tipo de alteración del flujo de control que vamos a estudiar se efectúa con sentencias condicionales, junto a este vamos a estudiar otros conceptos básicos de la programación.
Identación
Antes de hablar sobre estructuras de control de flujo es necesario hablar antes sobre la identación.
La identación es como la sangría en el lenguaje escrito, este sangrado es usado para delimitar la estructura de un programa, permitiendo así establecer estructuras de bloques. También es usado para mejorar la legibilidad del código fuente.
Una estructura de control se define de la siguiente forma:
estructura de control:
expresiones
Asignación múltiple
Otra ventaja que Python posee es la asignación en una sola instrucción de múltiples variables:
>>> a,b,c = "Steemit", 2018, "SBD"
>>> print(a)
Steemit
>>> print(b)
2018
>>> print(c)
SBD
La asignación multiple de variables también se puede implementar con tuplas o listas:
>>> steemit =("vidayaventura","andrealbm")
>>> steemit1,steemit2=steemit
>>> print(steemit1)
vidayaventura
>>> print(steemit2)
andrealbm
Estructuras de control de flujo condicionales
Las estructuras de control de flujo condicionales esta compuesta por tres sentencias: la sentencia if se usa para verificar una condición: si la condición es verdadera, ejecutamos un bloque de instrucciones llamado if, si la condición es falsa, pero se cumple otra condición, se ejecuta otro bloque de instrucciones llamados elif y si la condición es falsa ejecutamos el bloques de instrucciones llamados else . Después de evaluar estas condiciones nos devuelve 1 de 2 resultados: verdadero o falso (True o False)
Para evaluar la condición se utilizan los operadores de comparación:
Símbolo | Significado | Ejemplo | Resultado |
---|---|---|---|
== | Igual que | 7==10 | False |
!= | Distinto que | “rojo” != “verde” | True |
< | Menor que | 3 < 50 | True |
> | Mayor que | 30 > 5 | True |
<= | Mayor o igual que | 69 <= 69 | True |
>= | Menor o igual que | 38 >=37 | False |
Y para evaluar una condición simultáneamente se utilizan los operadores lógicos:
Operador | Ejemplo | Explicación | Resultado |
---|---|---|---|
and | 5 == 7 and 7 < 12 | False and False | False |
and | 9 < 12 and 12 > 7 | True and True | True |
and | 9 < 12 and 12 > 15 | True and False | False |
or | 12 == 12 or 15 < 7 | True or False | True |
or | 7 > 5 or 9 < 12 | True or True | True |
xor | 4 == 4 xor 9 > 3 | True o True | False |
xor | 4 == 4 xor 9 < 3 | True o False | True |
Sentencia IF
La estructura de un if es la siguiente:
if condición:
acción
acción
...
acción
En español la instrucción if significa si, veamos un ejemplo:
Input
numero= int(input("Introduzca un numero positivo: "))
if numero>=0:
print("El numero introducido es correcto")
print("Fin del programa")
Output
Introduzca un numero positivo: 20
El numero introducido es correcto
Fin del programa
En este primer ejemplo el programa nos manda a introducir un número positivo por teclado, nuestro condicional evalúa si es mayor a cero, de ser así entra en el condicional y luego imprime el mensaje "El número es correcto", luego continua con el flujo del programa indicando que este ha finalizado. Ahora introduciremos un número negativo.
Input
numero= int(input("Introduzca un numero positivo: "))
if numero>=0:
print("El numero introducido es correcto")
print("Fin del programa")
Output
Introduzca un numero positivo: -4
Fin del programa
En este ejemplo vemos que al introducir un número negativo el programa nunca entra en el condicional IF, lo que hace es que lo ignora ya que la condición no se cumple, y continua con el flujo del programa, por eso muestra al final el mensaje Fin del programa.
Sentencia ELSE
La estructura de un else es la siguiente:
if condición:
acción
else:
otras acciones
En español la instrucción else significa si no, repetiremos el ejemplo anterior, pero con la sentencia else:
Input
numero= int(input("Introduzca un numero positivo: "))
if numero>0:
print("El numero introducido es correcto")
else:
print("El numero introducido es negativo")
print("Fin del programa")
Output
Introduzca un numero positivo: -43
El numero introducido es negativo
Fin del programa
Ahora si introducimos un número negativo cuando nos piden un número positivo, el programa nos muestra el mensaje El número introducido es negativo, luego continua con el flujo del programa indicando que este ha finalizado.
Perfecto, ahora entendemos los conceptos básicos de una estructura de control condicional. Estudiemos una última Elif
Sentencia ELIF
La estructura de un elif es la siguiente:
if condición1:
acción1
elif condición2:
acción2
else:
otras acciones3
El elif se implementa de la siguiente forma:
- Si se cumple la condición 1, se ejecuta la acción 1
- Si no se cumple la condición 1 pero sí que se cumple la condición 2, se ejecuta la acción 2
- Si no se cumplen ni la condición 1 ni la condición 2, se ejecuta la acción 3.
Veamos el siguiente ejemplo, que nos indica el grupo de edad al que pertenece una persona:
Input
print("PROGRAMA QUE INDICA EL GRUPO DE EDAD AL QUE PERTENECE")
edad= int(input("Introduzca su edad: "))
if 0<edad<121:
if 0<edad<=5:
print("Usted pertenece al grupo de los bebes")
elif 6<=edad<=12:
print("Usted pertenece al grupo de los niños")
elif 13<=edad<=18:
print("Usted pertenece al grupo de los adolescentes")
elif 19<=edad<=25:
print("Usted pertenece al grupo de los jovenes")
elif 26<=edad<=60:
print("Usted pertenece al grupo de los adultos")
elif 61<=edad<=120:
print("Usted pertenece al grupo de los ancianos")
else:
print("La edad introducida es incorrecta")
print("Fin del programa")
Output
PROGRAMA QUE INDICA EL GRUPO DE EDAD AL QUE PERTENECE
Introduzca su edad: 21
Usted pertenece al grupo de los jovenes
Fin del programa
Este ejemplo les puede parecer un poco más complicado, sin embargo, estamos haciendo lo mismo que los ejemplos anteriores, tenemos nuestras sentencias con sus condicionales, dependiendo de la edad que se introduzca ella va a ir comparando ese valor con las condiciones establecidas, cuando vea que una se cumple entra en ese bloque y lo ejecuta, luego finaliza el programa.
Sentencias condicionales anidadas
Como vemos en el ejemplo de arriba, una sentencia condicional puede contener otra sentencia condicional, practiquemos con el siguiente juego llamado "Adivina el número"
print("Piense un número de 1 a 4.")
print("Conteste S (sí) o N (no) a mis preguntas.")
primera = input("¿El número pensado es mayor que 2? ")
if primera == "S":
segunda = input("¿El número pensado es mayor que 3? ")
if segunda == "S":
print("El número pensado es 4.")
else:
print("El número pensado es 3")
else:
segunda = input("¿El número pensado es mayor que 1? ")
if segunda == "S":
print("El número pensado es 2.")
else:
print("El número pensado es 1.")
print("¡Hasta otro juego!")
Los invito a que estudien este código para que puedan entender la implementación de las sentencias condicionales anidadas.
Enlace al "Ejemplo condicionales anidados.py"
Aquí les adjunto unos ejemplos de las estructuras de control condicionales:
Ejemplo nota final.py
Ejemplo numero par.py
Para finalizar este post les voy a dejar un ejercicio desafió, el cual tendrá una recompensa de 0.5 SBD.
- Se requieres un programa que pida 3 números por teclado y los muestre en pantalla de mayor a menor.
- Se aconseja usar los operadores lógicos para simplificar el programa.
- El programa se debe realizar usando solamente las sentencias if, elif y else.
!Esto fue todo por hoy, nos vemos en el próximo post, donde estudiaremos las estructuras de control de flujo iterativas, no te lo puedes perder!
Si tienen alguna duda o consulta no duden en dejarla en los comentarios. El código lo pueden subir al siguiente Canal de Discord Programación Tienen una semana para resolverlo. ¡Éxitos!
"El ser humano es inteligente por naturaleza, la tecnologia es solo un complemento"
╭════════════╮
Sígueme en mi Blog
╰════════════╯