将字符串转换为十进制(base 10)的Python代码

2024-05-15 14:18:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个简单的方法来将字符串转换为基数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)))

好像没用。当我将“test”测试为它输出的字符串时:729458。当我使用一些在线工具进行转换时,我得到了:1372205


Tags: orand方法字符串testindexlenreturn
1条回答
网友
1楼 · 发布于 2024-05-15 14:18:34

您只需在这里使用int

>>> strs = 'test'
>>> int(strs, 36)
1372205

或者定义自己的功能:

def func(strs):
    numerals = "0123456789abcdefghijklmnopqrstuvwxyz"
    return sum(numerals.index(x)*36**i for i, x in enumerate(strs[::-1]))
... 
>>> func(strs)
1372205

相关问题 更多 >