Problems with if/elif statement syntax
oj
ojeeves at gmail.com
Thu Nov 22 06:16:40 EST 2007
On Nov 22, 11:09 am, Neil Webster <nswebs... at gmail.com> 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.
More information about the Python-list
mailing list