我想在Python中创建一个字母数字序号字母数字序列号,该序列号由以下规则进行:的Python:有一些规则
3位数字系列 允许值1-9(零被排除在外)和AZ(排除I和O的所有首都) 代码应该能够在得到输入号码后给出下一个号码。
例如:如果输入数字11D,那么输出数字应该是11E,如果输入数字是119,则输出应该是12A而不是120.请让我知道这个描述是否足以解释我的要求。我目前使用的代码
提到如下:
def next_string(self, s):
strip_zs = s.rstrip('z')
if strip_zs:
return strip_zs[:-1] + chr(ord(strip_zs[-1]) + 1) + 'a' * (len(s) - len(strip_zs))
else:
return 'a' * (len(s) + 1)
您实际上需要基础转换。我们有很多关于此的话题,例如http://stackoverflow.com/q/2267362/989121 – georg 2013-04-09 14:58:23
为什么119后面是12A而不是11A?它增加了1-2-3 -...- 8-9-A-B -...- Y-Z? – 2013-04-09 15:09:24
@JoeFrambach:对不起,我的意思是119后跟11A – Addy 2013-04-09 15:23:20