Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # geometry.py
- _angle_mode = 'd'
- @property
- def angle_mode(self):
- return self._angle_mode
- @angle_mode.setter
- def angle_mode(self, value):
- if value != 'd' or value != 'r':
- raise ValueError("ValueError: invalid mode: '{0}'".format(mode))
- self._angle_mode = value
- class angle:
- def __init__(self, value, mode=None):
- if mode is None:
- mode = _angle_mode
- if mode == 'd':
- self.deg = value
- self.rad = math.radians(value)
- elif mode == 'r':
- self.rad = value
- self.deg = math.degrees(value)
- else:
- raise ValueError("ValueError: invalid mode: '{0}'".format(mode))
- def __repr__(self):
- if _angle_mode == 'd':
- return 'angle({0}deg)'.format(self.deg)
- elif _angle_mode == 'r':
- print(7)
- return 'angle({0}rad)'.format(self.rad)
- # interpreter
- >>> import geometry
- >>> a, b = geometry.angle(72), geometry.angle(2, 'r')
- >>> a, b
- (angle(72deg), angle(114.59...deg))
- >>> geometry.angle_mode = 'r'
- >>> a, b
- (angle(1.25...rad), angle(2rad))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement