PYTHON Ejercicio 35.-Validar operaciones matemáticas con Decoradores [80]

Que vamos a hacer en este tutorial:

  • Crearemos un decorador que:
    • Pida 2 números y que valide que sean mayores a 0.
    • Muestre el resultado de la operación.
  • Crear diferentes funciones matemáticas (suma, resta, multiplicación y división) que sean validadas por el decorador

Codigo: https://github.com/programadornovato/curso-python/commit/a7c0e3a7833fd3de254846699dc513165e6635d9

'''
Crearemos un decorador que: 
    Pida 2 números y que valide que sean mayores a 0.
    Muestre el resultado de la operación.
Crear diferentes funciones matemáticas (suma, resta, multiplicacion y division) que sean validadas por el decorador
'''
def ValidarDatos(operacionMatematica):
    #Pida 2 números y que valide que sean mayores a 0.
    def antes():
        while True:
            a=int(input("Humano por favor ingresa un numero mayor a 0:"))
            b=int(input("Humano por favor ingresa otro numero mayor a 0:"))
            if a>0 and b>0:
                return a,b
            else:
                print("Humano tonto te pedi dos numeros mayores a 0 intenatola de nuevo:")

    #Muestre el resultado de la operación.
    def despues(res):
        print(f"Aqui esta tu piche resultado:{res}")

    def muestraDatos(*args):
        a,b=antes()
        res=operacionMatematica(a,b)
        despues(res)
    return muestraDatos

@ValidarDatos
def suma(a=0,b=0):
    return a+b
@ValidarDatos
def resta(a=0,b=0):
    return a-b
@ValidarDatos
def mul(a=0,b=0):
    return a*b
@ValidarDatos
def div(a=0,b=0):
    return a/b
@ValidarDatos
def concatenar(a=0,b=0):
    return str(a)+""+str(b)

concatenar()

🎦[CURSO] PYTHON PARA PRINCIPIANTES🐍: https://www.youtube.com/playlist?list=PLCTD_CpMeEKRppvi86Dy8CPYZ8-XzN2qu

🔗 Gracias por apoyar este canal: https://www.patreon.com/programadornovato
🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com

Deja un comentario

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