Help with python functions?

tn156 at scarletmail.rutgers.edu tn156 at scarletmail.rutgers.edu
Mon Feb 10 19:57:02 CET 2014


On Monday, September 23, 2013 6:48:20 PM UTC-4, Terry Reedy wrote:
> On 9/23/2013 6:32 PM, kjakupak at gmail.com wrote:
> 
> > On Monday, September 23, 2013 9:56:45 AM UTC-4, Steven D'Aprano wrote:
> 
> >> On Mon, 23 Sep 2013 05:57:34 -0700, kjakupak wrote:
> 
> >>
> 
> >> Now you're done! On to the next function...
> 
> >>
> 
> >>
> 
> >>
> 
> >> --
> 
> >>
> 
> >> Steven
> 
> >
> 
> > def temp(T, from_unit, to_unit):
> 
> >      conversion_table = {('c', 'k'):lambda x: x + 273.15,
> 
> >                          ('c', 'f'):lambda x: (x * (9.0/5)) + 32,
> 
> >                          ('k', 'c'):lambda x: x - 273.15,
> 
> >                          ('k', 'f'):lambda x: (x * (9.0/5)) - 459.67,
> 
> >                          ('f', 'c'):lambda x: (x - 32) * (5.0/9),
> 
> >                          ('f', 'k'):lambda x: (x + 459.67) * (5.0/9)}
> 
> >      f = conversion_table[(from_unit.lower(), to_unit.lower())]
> 
> >      return f(T)
> 
> 
> 
> What happens if you run some tests? If you use unittest, you can use the 
> 
> assertAlmostEqualMethod, or just write something similar yourself. Be 
> 
> careful with values near 0..
> 
> 
> 
> At minimum, how many tests do you need, 6 or 9?
> 
> 
> 
> 
> 
> -- 
> 
> Terry Jan Reedy

can I use elif instead of lambda?



More information about the Python-list mailing list