Advertisement
Guest User

Untitled

a guest
Jul 20th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. import math
  2.  
  3.  
  4. class Point:
  5. def __init__(self, x, y):
  6. self.x = x
  7. self.y = y
  8.  
  9. def calculate_distance(self, point_coordinates, point_coordinates2):
  10. distance_width = abs(point_coordinates.x - point_coordinates2.x)
  11. distance_height = abs(point_coordinates.y - point_coordinates2.y)
  12. return distance_width,distance_height
  13.  
  14.  
  15. class Box:
  16. def __init__(self, upper_left, upper_right, bottom_left,bottom_right):
  17. self.upper_left = upper_left
  18. self.upper_right = upper_right
  19. self.bottom_left = bottom_left
  20. self.bottom_right = bottom_right
  21. self.width = Point.calculate_distance(self,point_coordinates=upper_left, point_coordinates2=bottom_right)[0]
  22. self.height = Point.calculate_distance(self,point_coordinates=bottom_right, point_coordinates2=upper_left)[1]
  23.  
  24. def calculate_perimeter(self, name_of_class):
  25. result = (2 * name_of_class.width + 2 * name_of_class.height)
  26. return result
  27.  
  28. def calculate_area(self, name_of_class):
  29. result = name_of_class.width * name_of_class.height
  30. return result
  31.  
  32. list_of_boxes = []
  33. while True:
  34. data = input().split(" | ")
  35. if data[0] == "end":
  36. break
  37. upper_left_point_x = int(data[0].split(":")[0])
  38. upper_left_point_y = int(data[0].split(":")[1])
  39. bottom_left_point_x = int(data[1].split(":")[0])
  40. bottom_left_point_y = int(data[1].split(":")[1])
  41. upper_right_point_x = int(data[2].split(":")[0])
  42. upper_right_point_y = int(data[2].split(":")[1])
  43. bottom_right_y = int(data[3].split(":")[1])
  44. bottom_right_x = int(data[3].split(":")[0])
  45. upper_left_point = Point(upper_left_point_x,upper_left_point_y)
  46. upper_right_point =Point(upper_right_point_x,upper_right_point_y)
  47. bottom_left_point = Point(bottom_left_point_x,bottom_left_point_y)
  48. bottom_right = Point(bottom_right_x,bottom_right_y)
  49.  
  50. box = Box(upper_left_point,upper_right_point,bottom_left_point,bottom_right)
  51. list_of_boxes.append(box)
  52.  
  53. for item in list_of_boxes:
  54. print(f"Box: {int(item.width)}, {int(item.height)}")
  55. print(f"Perimeter: {int(item.calculate_perimeter(item))}")
  56. print(f"Area: {int(item.calculate_area(item))}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement