fun*_*err 0 python numbers converter base
我试图创建一个简单的方法将字符串转换为以10为底的整数(在Python中):
def strToNum(strData, num=0 ,numerals="0123456789abcdefghijklmnopqrstuvwxyz"):
return ((len(strData)==0) and num) or (strToNum(strData[0:-1], num+numerals.index(strData[-1])**len(strData)))
Run Code Online (Sandbox Code Playgroud)
它似乎不起作用。当我测试“ test”作为字符串时,它输出:729458。当我使用一些在线工具进行转换时,我得到了:1372205。
您可以int在这里简单地使用:
>>> strs = 'test'
>>> int(strs, 36)
1372205
Run Code Online (Sandbox Code Playgroud)
或定义自己的函数:
def func(strs):
numerals = "0123456789abcdefghijklmnopqrstuvwxyz"
return sum(numerals.index(x)*36**i for i, x in enumerate(strs[::-1]))
...
>>> func(strs)
1372205
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8879 次 |
| 最近记录: |