Problems with if/elif statement syntax
riquito at gmail.com
riquito at gmail.com
Thu Nov 22 12:33:40 CET 2007
On 22 Nov, 12:09, 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
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'
More information about the Python-list
mailing list