Advertisement
Nasty_truffle

Untitled

Dec 6th, 2021 (edited)
861
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.57 KB | None | 0 0
  1. pi=3.1415926535
  2.  
  3. class Sphere:
  4.    
  5.     def __init__(self, *param):
  6.         if len(param) == 0:                         #если входных параметров нет
  7.             param = (1, 0, 0, 0)                    #радиус = 1, координаты x|y|z = 0
  8.         elif len(param) == 1:
  9.             param = (param[0], 0, 0, 0)             #если входные параметры есть (на вход только радиус)
  10.         else:
  11.             raise TypeError
  12.         self.r, self.x, self.y, self.z = param
  13.  
  14.     def get_volume(self):
  15.         return (self.r ** 3) * pi * 4 / 3           #формула объема сферы
  16.  
  17.     def get_square(self):
  18.         return (self.r ** 2) * pi * 4               #формула площади поверхности сферы
  19.  
  20.     def get_radius(self):                           #возвращает радиус сферы
  21.         return self.r
  22.  
  23.     def get_center(self):                           #возвращает координаты центра сферы
  24.         return (self.x, self.y, self.z)
  25.  
  26.     def set_radius(self, r):                        #устанавливает новый радиус
  27.         self.r = r
  28.  
  29.     def set_center(self, x, y, z):                  #устанавливает новые x|y|z центра сферы
  30.         self.x = x
  31.         self.y = y
  32.         self.z = z
  33.  
  34.     def is_point_inside(self, x, y, z):             #возвращает true|false от вопроса "внутри сферы ли заданная точка"
  35.         if (self.x-x)**2 + (self.y-y)**2 + (self.z-z)**2 <= self.r**2:
  36.             return True                             #точку на поверхности сферы тоже считаю за true (если нет убрать "=" из формулы)
  37.         else:
  38.             return False
  39.  
  40. s=Sphere ()
  41. print ("Spheres' center is at ")
  42. print (s.get_center ()) # (0, 0, 0)
  43. print ("\nSpheres' volume is ")
  44. print (s.get_volume ()) # 4.1887902047864 (by default)
  45. print ("\nGiven point is inside the sphere now: ")
  46. print (s.is_point_inside (0 , -2.7, 0)) # False
  47. print ("\nSpheres' radius before is ")
  48. print (s.get_radius ()) # 1 (by default)
  49. print ("\nSpheres' center before is at")
  50. print (s.get_center ()) # 0, 0, 0
  51.  
  52. s.set_radius (3)
  53.  
  54. print ("\nGiven point is inside the sphere now: ")
  55. print (s.is_point_inside (0, -2.7, 0)) # True
  56. print ("\nSpheres' radius after is ")
  57. print (s.get_radius ()) # 3
  58.  
  59. s.set_center (3,0,-3)
  60.  
  61. print ("\nSpheres' center after  at")
  62. print (s.get_center ()) # 3, 0, -3
  63. print ("\n")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement