On Nov 22, 11:09 am, Neil Webster <[EMAIL PROTECTED]> wrote: > Hi all, > > I'm sure I'm doing something wrong but after lots of searching and > reading I can't work it out and was wondering if anybody can help? > > I've got the following block of code: > if a >= 20 and a < 100: > if c == "c": > radius = 500 > else: > radius = 250 > elif (a >= 100) and (a < 500): > radius = 500 > elif (a >= 500) and (a < 1000): > radius = 1000 > elif (a >= 1000) and (a < 3000): > radius = 1500 > elif (a >= 3000) and (a < 5000): > radius = 2000 > else: > radius = 4000 > > No matter what value goes in for 'a' the radius always comes out as > 4000. > > What am I doing wrong? > > Cheers > > Neil
How is 'a' getting set? My first thought, is that a is for some reason a string, instead of a number, and the comparisons aren't doing what you expect. >>> a = "10" >>> a < 1000 False If a is coming from user input, or from a web request or something, make sure it's the correct type. -Oliver. -- http://mail.python.org/mailman/listinfo/python-list