You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

实现类Excel列名的字母序列递增方法需求

实现类Excel列名的字母递增方法get_next_letter

需求:实现一个get_next_letter方法,接收由小写字母组成的字符串,按照Excel列名的递增规则返回下一个字符串。规则如下:

  • 从a依次递增到z
  • z之后变为aa,接着是ab、ac…az
  • az之后变为ba,继续递增到zz
  • zz之后变为aaa

伪代码逻辑

def get_next_letter(last_letter):
    return last_letter += 1  # 模拟类似数值递增的逻辑

Python实现代码

def get_next_letter(last_letter):
    chars = list(last_letter)
    index = len(chars) - 1
    
    while index >= 0:
        if chars[index] == 'z':
            chars[index] = 'a'
            index -= 1
        else:
            chars[index] = chr(ord(chars[index]) + 1)
            return ''.join(chars)
    
    # 所有字符都是z,需在头部添加a
    return 'a' + ''.join(chars)

调用测试示例

>>> get_next_letter('a')
'b'
>>> get_next_letter('b')
'c'
>>> get_next_letter('z')
'aa'
>>> get_next_letter('aa')
'ab'
>>> get_next_letter('az')
'ba'
>>> get_next_letter('zz')
'aaa'

代码逻辑说明

  1. 将输入字符串转为字符列表,方便逐个修改字符
  2. 从字符串末尾开始逆向遍历:
    • 遇到z时,将其置为a并继续向前检查(模拟进位)
    • 遇到非z字符时,将其ASCII码加1得到下一个字母,拼接成字符串后返回
  3. 若所有字符都是z(遍历完所有索引仍未返回),则在结果头部添加一个a,完成位数升级

内容的提问来源于stack exchange,提问作者hewi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 10:20:36