Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. # geometry.py
  2.  
  3. _angle_mode = 'd'
  4.  
  5. @property
  6. def angle_mode(self):
  7. return self._angle_mode
  8.  
  9. @angle_mode.setter
  10. def angle_mode(self, value):
  11. if value != 'd' or value != 'r':
  12. raise ValueError("ValueError: invalid mode: '{0}'".format(mode))
  13. self._angle_mode = value
  14.  
  15. class angle:
  16. def __init__(self, value, mode=None):
  17. if mode is None:
  18. mode = _angle_mode
  19. if mode == 'd':
  20. self.deg = value
  21. self.rad = math.radians(value)
  22. elif mode == 'r':
  23. self.rad = value
  24. self.deg = math.degrees(value)
  25. else:
  26. raise ValueError("ValueError: invalid mode: '{0}'".format(mode))
  27.  
  28. def __repr__(self):
  29. if _angle_mode == 'd':
  30. return 'angle({0}deg)'.format(self.deg)
  31. elif _angle_mode == 'r':
  32. print(7)
  33. return 'angle({0}rad)'.format(self.rad)
  34.  
  35. # interpreter
  36. >>> import geometry
  37. >>> a, b = geometry.angle(72), geometry.angle(2, 'r')
  38. >>> a, b
  39. (angle(72deg), angle(114.59...deg))
  40. >>> geometry.angle_mode = 'r'
  41. >>> a, b
  42. (angle(1.25...rad), angle(2rad))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement