"tee chwee liong" <tc...@hotmail.com> wrote
###########
c=('01101')
i=-1
try:
   while i<len(c):
       i=c.index('0',i+1)
print "Lane fail",i except ValueError: print "All Lanes PASS"
   pass
############# The first thing is that you never increment i so the while condition is never going to terminate, so its probably just as well you get the exception.

The next thing is that you get the exception whenever index() can't find a zero. So the exception does not mean *ALL* lanes pass, it means all the lanes from the last zero pass. You really want the exception to stop the search. But it won't indicate all pass unless it happens the first time...

Using your logic it is easier written as a for loop:

s='01101'
found = False
for i,c in enumerate(s):
if c == '0': print 'Lane fail',i
          found = True
if not Found:  print 'All lanes PASS'

HTH,


--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to