擅长:python、mysql、java
<p>一种不同的、更长的、但可能更具可读性和灵活性的解决方案:</p>
<pre><code>def toval(s):
"""Converts an 'azz' string into a number"""
v = 0
for c in s.lower():
v = v * 26 + ord(c) - ord('a')
return v
def tostr(v, minlen=0):
"""Converts a number into 'azz' string"""
s = ''
while v or len(s) < minlen:
s = chr(ord('a') + v % 26) + s
v /= 26
return s
def next(s, minlen=0):
return tostr(toval(s) + 1, minlen)
s = ""
for i in range(100):
s = next(s, 5)
print s
</code></pre>
<p>将字符串转换为一个数字,其中每个字母表示以26为底的数字,将数字增加1,然后将数字转换回字符串。这样你就可以对用字母串表示的值进行任意的数学运算。在</p>
<p>“minlen”参数控制结果的位数(因为0==a==aaaaa)。在</p>