Estructuras de control de flujo o condicionales.
Tenemos dos grandes grupos, los condicionales y los bucles.
El flujo de ejecución de un programa es el orden en que se ejecutan sus
instrucciones.
El flujo normalmente es de arriba hacia abajo, aunque este flujo se puede ver
alterado entre otras causas por las estructuras de control de flujo.
De tal forma que el programa al llegar a la estructura condicional, a la
estructura de control de flujo, evalúa la condición y ejecuta el código que
está en su interior, dependiendo de que esta condición se cumpla o no.
Y cuando termina de ejecutar las instrucciones, continua ejecutando las
siguientes instrucciones después del condicional.
De un lenguaje a otro lo que cambia es la sintaxis del cada lentuaje.
def mayorEdad(edad):
resultado="Soy
mayor de edad"
#
Sintaxis básica:
if
edad<18: # Los dos puntos
indican el inicio de la condición.
#
Respetamos la indentación dentro del condicional.
resultado="Soy
menor de edad!!!"
#
Rompemos la indentación para salir del condicional.
return
resultado
print("** Tu edad por parámetro
directo **")
print("- Primer Ejemplo:
"+mayorEdad(6))
# Vamos a introducir la edad por
teclado.
# Podemos ejecutar la consola he
introducir valores con REPL.
#
tools>SublimeREPL>Python>Python RunCurrentFile.
# O introduciendo el dato en la
barra inferior, ctrl+s, ctrl+b.
# La función input() permite
itroducir un valor por teclado.
# input permite parámetros
input("Introduce tu edad")
TuEdad=input("*EJ1 Cual es tu
edad?? ")
# La ejecución se detiene hasta
introducir un valor y pulsar intro.
# input() considera todos los
valores como string, cualquier valor numérico será un string.
# Hemos de utilizar int()
transformará en entero cualquier cosa que introduzcamos.
print("- Segundo Ejemplo:
"+mayorEdad(int(TuEdad)))
***********************************
# If Else
print("** If Else dentro de una
función **")
# Definimos el input() como
parámetro de int()
TuEdad2=int(input("*EJ2 Cual es
tu edad?? "))
def mayorEdad2(edad):
resultado="Soy
mayor de edad"
if
edad<18:
resultado="Soy
menor de edad!!!"
else:
resultado="Soy
mayor de edad."
return
resultado
print("** Resultado con
Función, Parámetro y return **")
print("- Tercer Ejemplo:
"+mayorEdad2(TuEdad2))
# Condicional fuera de la
función.
print("** Condicional If Else
fuera de una función **")
if TuEdad2<18:
print("Soy
menor de edad!!!")
else:
print("Soy
mayor de edad.")
***********************************
# If Elfi Else # Definimos el input() como
parámetro de int()
TuEdad3=int(input("*EJ3 Cual es
tu edad?? "))
print("** Condicional If Elif
Else fuera de una función **")
if TuEdad3>100:
print("Tienes
más de 100 años!!!")
elif TuEdad3<=0:
print("Aún
no has nacido")
elif TuEdad3<18:
print("Soy
menor de edad!!!")
else:
print("Soy
mayor de edad.")
# Operadores Logicos If Elif
Else
# Definimos el input() como
parámetro de int()
TuEdad4=int(input("*EJ4 Cual es
tu edad?? "))
print("** Operadores Logicos If Elfi Else **")
#if ((TuEdad4<=0) or
(TuEdad4>100)):
if TuEdad4<=0 or TuEdad4>100:
print("Tu
edad es incorrecta!")
if
TuEdad4<=0:
print("Aún
no has nacido!!!")
else:
print("Tienes
más de 100 años!!!")
#elif TuEdad4<=17:
#elif ((TuEdad4>0) and
(TuEdad4<=17)):
elif TuEdad4>0 and
TuEdad4<=17:
print("Soy menor de edad!!!")
else:
print("Soy mayor de edad.")
# Operador in:
TuFruta=input("Tu fruta:
")
fruta=TuFruta.lower()
MiTupla=("naranja",
"platano", "pera", "manzana")
#if fruta in
("naranja", "platano", "pera",
"manzana"):
if fruta in MiTupla:
print("Tu fruta: "+fruta.upper()+" Está en la
lista")
else:
print(fruta.upper()+" No está en la lista")
***********************************
# Desde la versión 3.10 podemos
utilizar match-case, similar a swtich en otros lentuajes.
# Sintaxis Básica:
# match Expresión_a_Evaluar:
# case condición:
# Acción si se cumple
# case _:
# Acción por defecto.
a=2
match a:
case 1:
print("a es 1")
case 2:
print("a es 2")
case 3:
print("a es 3")
case _:
print("a no es 1, 2, o 3...")
# Ejemplo más complejo...
TuEdad5=int(input("*EJ5
Match-Case Cual es tu edad?? "))
match TuEdad5:
case TuEdad5 if
((TuEdad5<=0) or (TuEdad5>100)):
print("Tu edad es incorrecta!")
if TuEdad5<=0:
rint("Aún no has nacido!!!")
else:
print("Tienes más de 100 años!!!")
case TuEdad5 if
((TuEdad5>0) and (TuEdad5<=17)):
print("Soy menor de edad!!!")
case _:
print("Soy mayor de edad.")
# Cómo saber si el dato
introducido es correcto.
# Decimos que input() siempre
retorna un string...
Dato=input("Dato: ")
# El método int()
intenta convertir el valor a entero
entero = int(Dato)
print("El dato es
un entero.")
# Si no es un entero arroja una
Excepción.
except ValueError:
# El método
float() intenta convertir el valor a decimal.
try:
float_valor = float(Dato)
print("El dato es un float.")
# Arroja otra
excepción.
except ValueError:
print("El dato es una cadena.")
# Aplicamos esto a nuestro
ejemplo. # De esta forma si sólo
queremos enteros...
TuEdad6=input("Tu Edad: ")
try:
entero = int(TuEdad6)
print("El dato es
un entero.")
if entero>100:
print("Tienes más de 100 años!!!")
elif entero<=0:
print("Aún no has nacido")
elif entero<18:
print("Soy menor de edad!!!")
else:
print("Soy mayor de edad.")
# Si no es un entero arroja una
Excepción.
except ValueError:
print("Has de
introducir un numero entero!!!")
No hay comentarios:
Publicar un comentario
Gracias por vuestros aportes.