Advertisement
msoo248

Untitled

Dec 12th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.71 KB | None | 0 0
  1. from math import pi as PI
  2.  
  3. class Point:
  4.     """Klasa opisująca punkt na płaszczyźnie"""
  5.     def __init__ (self,x1,y1):
  6.       self.x = x1
  7.       self.y = y1
  8.  
  9.     def __str__(self):
  10.       return "Lokalizacja punktu: x={}, y={}".format(self.x,self.y)
  11.  
  12.  
  13. class Figure(Point):
  14.     """Klasa opisująca figurę na płaszczyźnie o środku w punkcie Point"""
  15.     listOfFigures = []
  16.     def __init__ (self,x,y,
  17.                 colour = "czerwony",
  18.                 name="figura",
  19.                 lineWidth=2,
  20.                 lineStyle='-'):
  21.         super().__init__(x,y)
  22.         self.colour = colour
  23.         self.name = name
  24.         self.lineWidth = lineWidth
  25.         self.lineStyle = lineStyle
  26.         Figure.listOfFigures.append(self)
  27.  
  28.     def __str__(self):
  29.         return 'Środek figury: x={}, y={}\nKolor figury = "{}"\nTyp figury = {}\nGrubość linii = {} \nStyl linii = "{}"'.format(self.x,self.y, self.colour,self.name,self.lineWidth,self.lineStyle)
  30.  
  31.     def area(self):
  32.         """Metoda licząca pole figury"""
  33.         pass
  34.  
  35.     def perimeter(self):
  36.         """Metoda licząca obwód figury"""
  37.         pass
  38.  
  39.  
  40. class Triangle(Figure):
  41.     def __init__ (self,x,y,
  42.             base,
  43.             sideA,
  44.             sideB,
  45.             height,
  46.             colour = "czerwony",
  47.             name = "trójkąt",
  48.             lineWidth=2,
  49.             lineStyle='-'):
  50.             super().__init__(x,y,colour,name,lineWidth,lineStyle)
  51.             self.base = base
  52.             self.sideA = sideA
  53.             self.sideB = sideB
  54.             self.height = height
  55.  
  56.     def __str__(self):
  57.         return "Podstawa trójkąta = {}\nBok a = {}\nBok b = {}\nWysokość trójkąta = {}".format(self.base,self.sideA,self.sideB,self.height)
  58.         return "Triangle area is equal: {} \nTriangle perimeter is equal = {}".format(trian.area(),trian.perimeter())
  59.  
  60.     def perimeter(self):
  61.         return self.base + self.sideA + self.sideB
  62.  
  63.     def area(self):
  64.         return 0.5*self.base*self.height
  65.  
  66.  
  67. class Rectangle(Figure):
  68.     def __init__ (self,x,y,
  69.         sideA,
  70.         sideB,
  71.         colour = "czerwony",
  72.         name = "prostokąt",
  73.         lineWidth=2,
  74.         lineStyle='-'):
  75.             super().__init__(x,y,colour,name,lineWidth,lineStyle)
  76.             self.sideA = sideA
  77.             self.sideB = sideB
  78.  
  79.     def __str__(self):
  80.         return "Bok A prostokąta = {}\nBok B prostokąta = {}".format(self.sideA,self.sideB)
  81.         return "Rectangle area is equal: {} \nRectangle perimemter is equal = {}".format(rect.area(),rect.perimeter())
  82.  
  83.     def perimeter(self):
  84.         return 2*self.sideA + 2*self.sideB
  85.  
  86.     def area(self):
  87.         return self.sideA*self.sideB
  88.  
  89. class Circle(Figure):
  90.     def __init__ (self,x,y,
  91.         radius,
  92.         colour = "czerwony",
  93.         name = "koło",
  94.         lineWidth=2,
  95.         lineStyle='-'):
  96.         super().__init__(x,y,colour,name,lineWidth,lineStyle)
  97.         self.radius = radius
  98.  
  99.     def __str__(self):
  100.         return "Promień koła = {}".format(self.radius)
  101.         return "Circle area is equal: {} \nCircle perimeter is equal = {}".format(circ.area(),circ.perimeter())
  102.  
  103.     def perimeter(self):
  104.         return 2*PI*self.radius
  105.  
  106.     def area(self):
  107.         return self.radius**2*PI
  108.  
  109.  
  110. def main():
  111.     pkt = Figure(3,4)
  112.     print(pkt)
  113.    
  114.     print(30*'-')
  115.        
  116.     trian = Triangle(2,2,4,5,6,7)
  117.     print(trian)
  118.  
  119.     print(30*'-')
  120.  
  121.     rect = Rectangle(2,3,2,2)
  122.     print(rect)
  123.  
  124.     print(30*'-')
  125.  
  126.     circ = Circle(2,3,12)
  127.     print(circ)
  128.    
  129.     print(30*'-')
  130.  
  131.     print("Liczba figur: {}" .format(len(Figure.listOfFigures)))    
  132.     print("Lista figur: {}" .format(Figure.listOfFigures))
  133.  
  134.  
  135. if __name__ == '__main__':
  136.   main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement