Advertisement
teslariu

excep.py

Mar 27th, 2021
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.82 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. Calculadora que pide dos nros e imprime el resultado de las 4 operaciones
  6. básicos y la raaiz cuadrada de cada uno de ellos
  7. """
  8. import math
  9.  
  10. def ingresar_numero():
  11.     while True:
  12.         try:
  13.             numero = float(input("Ingrese un número: "))
  14.         except ValueError:
  15.             print("Error, debe ingresar un número")
  16.         else:
  17.             return numero
  18.            
  19. def suma(a,b):
  20.     return a + b
  21.    
  22. def resta(a,b):
  23.     return a - b
  24.    
  25. def producto(a,b):
  26.     return a * b
  27.    
  28. def cociente(a,b):
  29.     if b != 0:
  30.         return a / b
  31.     else:
  32.         raise ZeroDivisionError
  33.        
  34. def raiz_cuadrada(x):
  35.     try:  
  36.         print(f"Raiz cuadrada de {x}: {math.sqrt(x)}")
  37.     except ValueError:
  38.         print(f"Error: No existe la raiz cuadrada de {x}")
  39.    
  40.            
  41. while True:
  42.     a = ingresar_numero()
  43.     b = ingresar_numero()
  44.    
  45.     # operaciones que no lanzan excepciones matemáticas
  46.     print(f"a + b = {suma(a,b)}")
  47.     print(f"a - b = {resta(a,b)}")
  48.     print(f"a * b = {producto(a,b)}")
  49.    
  50.     # Manejo de excepciones, división por cero
  51.     try:
  52.         print(f"a / b = {cociente(a,b)}")
  53.     except ZeroDivisionError:
  54.         print("Error en la división: no se puede dividir por cero")
  55.     else:
  56.         print("No hubo error en la división, no se dividió por cero")
  57.     finally: # se usa por ejemplo, para cerrar conexiones, archivos, etc
  58.         print("Fin de la división")
  59.    
  60.     # manejo de excepciones, raiz cuadrada de un nro negativo
  61.     raiz_cuadrada(a)
  62.     raiz_cuadrada(b)  
  63.          
  64.    
  65.     # seguir o salir
  66.     opcion = input("Presione cualquier tecla para continuar (o 'x' para salir): ")
  67.     if opcion == "x":
  68.         print("Gracias por usar este programa...")
  69.         break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement