lunes, 14 de julio de 2025

09 Python 3.13. Condicionales

 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.

 # Creamos una función que recibe un parámetro.

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

 
# Imprimimos la función con el parámetro edad.

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: ")

 try:

# 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.