- Jeff Younker - [EMAIL PROTECTED] -
On Jan 27, 2008, at 3:01 PM, Rob Stevenson wrote:
I'm working at a certain website's puzzles using pythonin order to
learn the language, but am stuck understanding what is going on in
my code (ie why it doesn't do as expected)
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.
Here's the code...
s
=
"""kKjyaqbooOlNkAddgAazFlgKLjlXDGtlvRBYCYQiRfRIfWIYaLZxLrQzrYzBghYOKAaKgXmUpPkCaMmN
GlAXokgPsdyUjsiaKSSoeCqMrMbQXeRZqkNeAQpujYJFGfbeceunpFNYjuUPiQVOZPXTKhiwPMLKZEKP
NoEPPwXtRoVfGYIRyRgZWyJrMjuBQNchjZBNQUwSgIyXniXCMeXRfAcDKxskxYvMyRGyXeSlOFKFItyI
wgDEIuvHFxRfQhtqLKnJfONtkcnDORkZqbtPplsjjTEIsquhSsQTwNZuPVxaTqDvwMONBfCsNJuJpJHZ
dCdFLtBQPtFQuCdKOrpndJNUFQIDSbetUKylhSUjcDVtbiQrWMRQhAwGUZyPneCGUjGBBTkLqxLAXXtB
KfErkDaWMFZZeuqDmXKJEGHyToPUhPphfVhgUZgbIuRAtWnroImpJKqqmEZqeNQCKzhjIkKQHURWLXFw
PBuijeoTSpsVLaOGuLVjMZXkBvVXwUuHfBihziiavGSYofPNeKsTXruMUumRRPQJzvSzJkKbtSipiqBd
"""
h = range(len(s)-9)
for i in h:
j=s[i:i+8]
if j[0].islower():
if j[1:3].isupper():
if j[5:7].isupper():
print j
Any help much appreciated!
Your slice indexes are off:
>>> m = "01234567"
>>> m[0]
'0'
>>> m[1:3]
'12'
>>> m[5:7]
'56'
>>>
What you want is:
>>> m[2:4]
'23'
>>> m[6:8]
'67'
-jeff
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor