[Tutor] conditionals with slicing not seeming to work
Alan Gauld
alan.gauld at btinternet.com
Mon Jan 28 09:32:46 CET 2008
"Rob Stevenson" <rob.rstevenson at gmail.com> wrote
> I'm working at a certain website's puzzles using
> python in order to learn the language,
OK, Then I'll add some other comments
> the intention of this snippet is to only print slices where
> character 1 is
> lower case, 2-4 and 6-8 are upper. The logic here looks right to a
> VB eye.
s="""kKjyaqbooOlNkAddgAazFlgKLjlXDGtlv....
> etc...
> h = range(len(s)-9)
> for i in h:
more conventionally in python to just say
for i in range(len(s)-9)
> j=s[i:i+8]
> if j[0].islower():
> if j[1:3].isupper():
> if j[5:7].isupper():
And this would reflect the problem statement better if
you used boolean logic
if j[0].islower() and j[1:4].isupper() and j[5:8].isupper():
print j
You could also do this using regular expressions if
you want an alternative approach.
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld
More information about the Tutor
mailing list