Re: [问题] 如何能做到字母进位呢?

楼主: bigpigbigpig (To littlepig with love)   2014-12-12 01:17:24
※ 引述《opengood5566 ( )》之铭言:
: 比如说进行加一: a变b, at变au, az变ba
: 请问有什么办法可以做到这样吗?
: 感谢!
我写的,有点丑:
letters = 'abcdefghijklmnopqrstuvwxyz'
next_letter = dict(zip(letters,letters[1:]+letters[:1]))
def increment(s):
rs = list(reversed(s.lower()))
for p, l in enumerate(rs):
rs[p] = next_letter[l]
if l != 'z': break
if p == len(rs)-1 and l == 'z': rs.append('a')
return ''.join(reversed(rs))
===========================================================
>>> increment('at')
'au'
>>> increment('k')
'l'
>>> increment('z')
'aa'
>>> increment('zzzz')
'aaaaa'
>>> increment('cz')
'da'
作者: yauhh (小y宝贝)   2014-12-12 08:25:00
哦,好直接(拍手)

Links booklink

Contact Us: admin [ a t ] ucptt.com