我想在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