我已经多次解决这个问题了,每次我都在挣扎,然后每次都忘记它:)
有一个带有字典的数字系统(即字母,而不是数字)并且没有零,即
A, B, ..., Z, AA, AB, ..., ZZ. AAA, ...
告诉我这些数字系统叫什么?!!!然后当我开始寻找时,我在第三天才找到它们
我什至不要求翻译算法,至少是名称:)(但你可以使用算法来节省精力)
本质上,这是 N 位数字典中 1..M 位数组合的序列号(itertools.product 的组合)
我已经多次解决这个问题了,每次我都在挣扎,然后每次都忘记它:)
有一个带有字典的数字系统(即字母,而不是数字)并且没有零,即
A, B, ..., Z, AA, AB, ..., ZZ. AAA, ...
告诉我这些数字系统叫什么?!!!然后当我开始寻找时,我在第三天才找到它们
我什至不要求翻译算法,至少是名称:)(但你可以使用算法来节省精力)
本质上,这是 N 位数字典中 1..M 位数组合的序列号(itertools.product 的组合)
数字到 Excel 列编号和返回(因此硬编码字母大小为 26,从 1 开始)
我在使用电路时没有发现问题
d*b^i
,我只需要稍微处理一下输入数据这是带有元素翻译的可迭代对象翻译函数的示例
接下来我们制作一个字典用于翻译,但是对于第一个字母我们表示 not
0
,但是1
最后,我们进行翻译,但使用的基数不是通常的最大数加一,而是简单的最大数,即3
可以像这样生成翻译英语字母表中所有大写字母的字典:
而且,您可以使用任何唯一字符序列来代替 string.ascii_uppercase,并且只需使用该字典的长度作为基础
我不会告诉你这些系统的名称,因为这是我第一次看到这个:)
我还没有弄清楚这个脚本的作用(我不是作者)。也许这会适合你: