On Wed, 20 Aug 2008 14:38:11 -0700, johnewing wrote: > I am trying to figure out how to test if two numbers are of the same > sign (both positive or both negative). I have tried > > abs(x) / x == abs(y) / y > > but that fails when one of the numbers is 0. I'm sure that there is an > easy way to do this. Any suggestions? > > Thanks
Don't resort to inline tricks too soon. Write your program in a very straightforward way (perhaps paying attention to algorithm choice or a functional style), and only start optimizing if it's too slow. And if it is too slow, you probably should look at pyrex or similar before resorting to unusual python code. Part of writing straightforwardly, means having a function or object that encapsulates each decision the program makes - so that if that decision later needs to be changed, it can be changed in one place. I've been frequenting comp.unix.shell lately, and the group is plagued with weird little tricks - EG, using : as an alias for true, 1 as an alias for print, etc. I'd rather not see comp.lang.python turned into that sort of group. (That said, I program in bash frequently - by choice) $ cat /tmp/sign #!/usr/bin/env python def sign(x): return cmp(x,0) print sign(-5) print sign(0) print sign(33) if sign(-5) == sign(-2): print 'Same sign' -- http://mail.python.org/mailman/listinfo/python-list