I finished doing mine. I think this can create any number of letters.
def AA(n, s): r = n % 26 r = r if r > 0 else 26 n = (n - r) / 26 s = chr(64 + r) + s if n > 26: s = AA(n, s) elif n > 0: s = chr(64 + n) + s return s
n = quantity | r = remaining (26 letters AZ) | s = string
To print the list:
def uprint(nc): for x in range(1, nc + 1): print AA(x,'').lower()
Used by VBA before converting to python:
Function AA(n, s) r = n Mod 26 r = IIf(r > 0, r, 26) n = (n - r) / 26 s = Chr(64 + r) & s If n > 26 Then s = AA(n, s) ElseIf n > 0 Then s = Chr(64 + n) & s End If AA = s End Function
source share