Advertisement
teslariu

modulo geometria

Aug 30th, 2023
989
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.06 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. Módulo que implementa el cálculo de superficies y volumenes de diversas
  6. figuras geométricas:
  7. * cuadrado
  8. * rectángulo
  9. * circulo
  10. * cubo
  11. * esfera
  12. * cilindro de base redonda
  13. Si la figura no está soportada, lanza un ValueError
  14. """
  15. __author__ = "Yo"
  16. __copyright__ = "Python Developers"
  17. __credits__ = ("Yo", "Mauro", "Valentina", "Jeremías")
  18. __license__ = "GPLv3"
  19. __version__ = "0.01"
  20. __email__ = "yo_arroba_yo.com"
  21. __status__ = "Development"
  22.  
  23.  
  24. import math
  25.  
  26. def ingresar(valor):
  27.     while True:
  28.         try:
  29.             n = float(input(f"Ingresar {valor}: "))
  30.         except ValueError:
  31.             print("Error: debe ingresar un valor numérico")
  32.         else:
  33.             return n
  34.  
  35.  
  36. def superficie(figura):
  37.     """
  38.     Función que calcula el área de una figura 2D
  39.     """
  40.     if figura.lower() == "cuadrado":
  41.         lado = ingresar("lado")
  42.         return lado ** 2
  43.    
  44.        
  45.     elif figura.lower() == "rectangulo":
  46.         l = ingresar("lado menor")
  47.         L = ingresar("lado mayor")
  48.         return l * L
  49.    
  50.            
  51.     elif figura.lower() == "circulo":
  52.         radio = ingresar("radio")
  53.         return math.pi * radio**2
  54.    
  55.            
  56.     else:
  57.         raise ValueError("figura no soportada")
  58.  
  59.  
  60.  
  61. def volumen(figura):
  62.     """
  63.     Función que calcula el volumen de una figura 3D
  64.     """
  65.     if figura.lower() == "cubo":
  66.         lado = ingresar("lado")
  67.         return lado ** 3
  68.    
  69.            
  70.     elif figura.lower() == "esfera":
  71.         radio = ingresar("radio")
  72.         return 4 / 3 * math.pi * radio**3
  73.    
  74.            
  75.     elif figura.lower() == "cilindro":
  76.         sup_base = superficie("circulo")
  77.         altura = ingresar("altura")
  78.         return sup_base * altura
  79.    
  80.            
  81.     else:
  82.         raise ValueError("figura no soportada")
  83.  
  84.  
  85. if __name__ == '__main__':
  86.     print("Calculo de la superficie de un círculo")       
  87.     sup_circulo = superficie("circulo")
  88.     print(f"La superficie del círculo es {sup_circulo:.2f}")
  89.  
  90.     print("Calculo del volumen de una esfera")
  91.     vol_esfera = volumen("esfera")
  92.     print(f"El volumen de la esfera es {vol_esfera:.2f}")
  93.    
  94.     # print("Calculo del volumen de un cono")
  95.     # vol_cono = volumen("cono")
  96.     # print(f"El volumen del cono es {vol_cono:.2f}")
  97.  
  98.    
  99.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement