楼主: 
nypgand1 (祈附‧征前御祭)   
2014-12-12 14:36:07想到说如果用“字串 <-> 数字”完全转换会有一个缺点,
要是字串很长,需要进位的情况又不多,那么就有些浪费
以下是我的小小尝试
大小写保持原位,多进位出来的大小写跟着原本的最高位
def alphaPlusOne(s):
    char_list = list(s)
    # start from least significant position
    for idx, c in enumerate(reversed(char_list)):
        if not isCarryAfterPlusOne(c):
            # no carry, + 1 and break
            char_list[idx] = chr(ord(c) + 1)
            break
        else:
            # carry, + 1 - 26
            char_list[idx] = chr(ord(c) + 1 -26)
            if idx is 0:
                # still need carry at most significant position
                char_list.insert(0, chr(ord(c) + 1 -26))
    return ''.join(char_list)
def isCarryAfterPlusOne(c):
    return c is 'z' or c is 'Z'