On 22 Nov, 12:09, 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
as Oliver pointed out, check if you're not compairing "a" as a string I wanted to let you know that you can write the above conditions in a more natural way, using the a<x<b idiom e.g. x=int(raw_input("write a number")) if 5<=x<30: print 'x is between 5 and 30' -- http://mail.python.org/mailman/listinfo/python-list