On Jan 25, 5:05 am, [EMAIL PROTECTED] wrote: > Hallo pyPeople, > > I wrote a little snippet of code that takes a list representing some > 'digits', and according to a list of symbols, increments the digits through > the symbol list. > > so for example, > > digits=["a","a","a"] > symbols=["a","b","c"] > > increment(digits,symbols) repeatedly would return digits as > > aab > aac > aba > abb > abc > aca > > etc.. > > Heres the code > > def increment(digits,symbols): > overflow=True > digitpos=-1 > while overflow and -digitpos<=len(digits): > digitsymbolindex=symbols.index(digits[digitpos]) > if digitsymbolindex==len(symbols)-1: > overflow=True > digits[digitpos]=symbols[0] > digitpos=digitpos-1 > else: > digits[digitpos]=symbols[digitsymbolindex+1] > overflow=False > return digits > > Now, this works. All good. It's nice and simple. I'm just wondering how > anyone else might approach it?
I (not an expert at all) have only minor comments and one question: comments: why keep setting overflow to True, if you do not touch it will not change. digitpos -= 1 is easier to read in my mind question: Why first extract the indices and then compare (in your if statement), and why do you not just compare the symbols? Best, Bart -- http://mail.python.org/mailman/listinfo/python-list