Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I wrote this for you, but you can expand it as you like:</p> <pre><code>class Distance(object): METER = 1 FOOT = 0.3048 MILE = 1609.344 INCH = 0.0254 UNITS = {'meters': METER, 'mts': METER, 'mt': METER, 'feet': FOOT, 'foot': FOOT, 'ft': FOOT, 'miles': MILE, 'mls': MILE, 'ml': MILE, 'inch': INCH, } def __init__(self, s): self.number, unit = s.split() self._convert(unit) def _convert(self, unit): self.number = float(self.number) if self.UNITS[unit] != 1: self.number *= self.UNITS[unit] @ property def meters(self): return self.number @ meters.setter def meters(self, v): self.number = float(v) @ property def miles(self): return self.number / self.MILE @ miles.setter def miles(self, v): self.number = v self._convert('miles') @ property def feet(self): return self.number / self.FOOT @ feet.setter def feet(self, v): self.number = v self._convert('feet') @ property def inch(self): return self.number / self.INCH @ inch.setter def inch(self, v): self.number = v self._convert('inch') </code></pre> <p>Some examples:</p> <pre><code>&gt;&gt;&gt; d = Distance('1302.09029321 mts') &gt;&gt;&gt; d.meters 1302.09029321 &gt;&gt;&gt; d.feet 4271.949780872703 &gt;&gt;&gt; d.inch 51263.39737047244 &gt;&gt;&gt; d.miles 0.8090813978925575 &gt;&gt;&gt; d.miles = 1 &gt;&gt;&gt; d.meters 1609.344 &gt;&gt;&gt; d.feet 5280.0 &gt;&gt;&gt; d.inch = .0002 &gt;&gt;&gt; d.inch 0.00019999999999999998 &gt;&gt;&gt; d.feet 1.6666666666666664e-05 &gt;&gt;&gt; d.meters 5.08e-06 &gt;&gt;&gt; d.miles 3.156565656565656e-09 &gt;&gt;&gt; d.feet = 1 &gt;&gt;&gt; d.meters 0.3048 &gt;&gt;&gt; d.miles 0.0001893939393939394 </code></pre> <p>EDIT: Added setters</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload