Tutorial "Pythonizate: Fundamentos de Programación” – Estructuras de Control Condicionales

in #spanish3 years ago (edited)

Pythonizate "Aprendiendo a programar"

Este tutorial está siendo elaborado para enseñarte a programar en Python desde cero hasta un nivel intermedio – avanzado. Al momento de finalizarlo serás capaz de crear software sencillo aplicando los conceptos aprendidos e incluso crear su propia interfaz gráfica.

Índice

ContenidoPost
IntroducciónTutorial "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ímboloSignificadoEjemploResultado
==Igual que7==10False
!=Distinto que“rojo” != “verde”True
<Menor que3 < 50True
>Mayor que30 > 5True
<=Mayor o igual que69 <= 69True
>=Menor o igual que38 >=37False



Y para evaluar una condición simultáneamente se utilizan los operadores lógicos:

OperadorEjemploExplicaciónResultado
and5 == 7 and 7 < 12False and FalseFalse
and9 < 12 and 12 > 7True and TrueTrue
and9 < 12 and 12 > 15True and FalseFalse
or12 == 12 or 15 < 7True or FalseTrue
or7 > 5 or 9 < 12True or TrueTrue
xor4 == 4 xor 9 > 3True o TrueFalse
xor4 == 4 xor 9 < 3True o FalseTrue

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.

Enlace al "Ejemplo IF.py"

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.

Enlace al "Ejemplo ELSE.py"

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.

Enlace al "Ejemplo ELIF.py"


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"

Gracias por permitirme robar unos pocos minutos de tu vida. Me despido por los momentos mis steemianos, que tengan un excelente día, tarde o noche.
╭════════════╮
Sígueme en mi Blog
╰════════════╯

GIF

Sort:  

¡Su post ha sido votado en nombre del Equipo de Curación dropahead!

Gracias por seguir las reglas

ADVERTENCIA: El Equipo de Curación dropahead no necesariamente comparte las opiniones expresadas en este artículo. Sin embargo, creemos que el esfuerzo y/o contribución del autor merece una mejor recompensa y visibilidad.

Ayudenos a darle mayores recompensas:

¡Vote este comentario!
¡Vote y dele Resteem a los últimos Reportes de Curación de dropahead!
Únase al Trail de Curación dropahead
¡Para maximizar sus recompensas de curación!
Vote por dropahead Witness con SteemConnect
Active el Voto Proxy de dropahead witness
con SteemConnect
Done STEEM POWER a @dropahead
12.5SP, 25SP, 50SP, 100SP, 250SP, 500SP, 1000SP
Haciendo lo anterior tendremos más Steem Power (SP) ¡Para poder brindarle mayores recompensas la próxima vez!

Noticias de dropahead: Como retribuir al Proyecto dropahead en 15 segundos o menos

Control de calidad del Equipo de Curación dropahead

De acuerdo a nuestros estándares de calidad(1), su publicación ha alcanzado una calificación de 87%.

Bien dijo Gabriel García Marquez: "Se aprende a escribir escribiendo" ¡Siga esforzandose, pronto alcanzará la excelencia!


(1) Estándares de calidad de dropahead Witness:

- Relación gráfica al texto (Elección de imágenes de acuerdo al texto)
- Orden y Coherencia
- Estilo y autenticidad (Toque personal, lógica, complejidad, lo que hace que sea interesante y fácil de entender para el lector)
- Fuente de las imágenes y su licencia de uso

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by vidayaventura from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

Que buen post,excelente información,estoy estudiando los conceptos básicos de programación pero aun no me decido con cual lenguaje empezar ,(Empezar con JavaScript o Python),agradecería alguna recomendación,si es posible,mis saludos.

¡Hola @criptosonido! Me alegro que el post haya sido de tu agrado, depende de que quieras hacer con la programación, son lenguaje de programación totalmente distintos.
Python es un lenguaje que posee una sintaxis limpia, sencillo y legible, por eso es uno de los principales lenguajes que se recomienda para empezar en el mundo de la programación, es muy usado en las áreas de aplicaciones de escritorio, servidores y hasta pags web.
Javascript no conozco mucho de este lenguaje de programación, hasta donde se es usado principalmente para crear pags web dinámicas.


Espero mi respuesta te sea util
Saludos

Excelente post. Información muy valiosa. Saludos.

¡Hola @catalinamorales! Gracias por tomarte el tiempo de leer mi post y aprender un poco sobre la programación, te invito a que resuelvas el ejercicio desafió!
Saludos

Buenísima tu propuesta para aprender a programar. En la noche empiezo a pasearme por los post anteriores. Y trataré de hacer el ejercicio propuesto. Anótame en tu lista de alumnos!

¡Hola @rafaelaquino! Gracias por tomarte el tiempo de leer mi post y me alego que te sumes a este viaje de aprendizaje, espero ver la resolución del ejercicio desafío de tu parte.

Saludos!

Hace ya 20 años aproximadamente vi programación en pascal y un poco de C. Gracias a tu propuesta retomaré la programación. Saludos

Me alegro de que gracias a esto retomes el camino de la programación.

Saludos

Congratulations @vidayaventura! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your Board of Honor.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last announcement from @steemitboard!

Do you like SteemitBoard's project? Vote for its witness and get one more award!