On Apr 6, 11:10 pm, Patrick Maupin <pmau...@gmail.com> wrote: > On Apr 6, 11:04 pm, Patrick Maupin <pmau...@gmail.com> wrote: > > > > > On Apr 6, 10:16 pm, monkeys paw <mon...@joemoney.net> wrote: > > > > I have the following acre meter which works for integers, > > > how do i convert this to float? I tried > > > > return float ((208.0 * 208.0) * n) > > > > >>> def s(n): > > > ... return lambda x: (208 * 208) * n > > > ... > > > >>> f = s(1) > > > >>> f(1) > > > 43264 > > > >>> 208 * 208 > > > 43264 > > > >>> f(.25) > > > 43264 > > > Not sure why you are returning a lambda (which is just a function that > > does not have a name) from an outer function. > > > A function that does this multiplication would simply be: > > > def s(n): > > return 208.0 * 208.0 * n > > > Regards, > > Pat > > I realized I didn't show the use. A bit different than what you were > doing: > > >>> def s(n): > > ... return 208.0 * 208.0 * n > ...>>> s(1) > 43264.0 > >>> s(0.5) > 21632.0 > >>> s(3) > > 129792.0 > > I'm not sure exactly what you mean by "acre meter" though; this > returns the number of square feet in 'n' acres. > > Regards, > Pat
I should stop making a habit of responding to myself, BUT. This isn't quite an acre in square feet. I just saw the 43xxx and assumed it was, and then realized it couldn't be, because it wasn't divisible by 10. (I used to measure land with my grandfather with a 66 foot long chain, and learned at an early age that an acre was 1 chain by 10 chains, or 66 * 66 * 10 = 43560 sqft.) That's an exact number, and 208 is a poor approximation of its square root. Regards, Pat -- http://mail.python.org/mailman/listinfo/python-list