Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

feet and inches

By: a guest on Jul 2nd, 2011  |  syntax: Python  |  size: 1.10 KB  |  views: 88  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. from math import floor
  2. from fractions import Fraction
  3.  
  4. def convert(n):    
  5.     feet, r = int(floor(n) / 12), n % 12
  6.     inches  = int(floor(r))
  7.     numer   = int(round(32 * (r - inches)))
  8.    
  9.     return feet, inches, Fraction(numer, 32)
  10.  
  11. def show_inches(inches, fractions):
  12.  
  13.     def pluralize_inches(i):
  14.         if i == 1:
  15.             return str(i) + " inch"
  16.         else:
  17.             return str(i) + " inches"
  18.    
  19.     if inches and fractions:
  20.         return str(inches) + ' and ' + str(fractions) + ' inches'
  21.     elif inches or fractions:
  22.         return pluralize_inches(inches or fractions)
  23.     else: return ''
  24.  
  25. def feet_and_inches(n):
  26.  
  27.     def pluralize_feet(ft):
  28.         if not ft:
  29.             return ''
  30.         elif ft == 1:
  31.             return str(ft) + ' foot'
  32.         else:
  33.             return str(ft) + ' feet'
  34.    
  35.     if not n:
  36.         return "0 feet 0 inches"
  37.     else:
  38.         feet, inches, fractions = convert(n)
  39.         ft = pluralize_feet(feet)
  40.         i  = show_inches(inches, fractions)
  41.         return ft + (ft and i and ' ') + i