Skip to main content
 首页 » 编程设计

python之为什么 python 从字符串中返回数字

2025年05月04日47Terrylee

好吧,这完全让我感到困惑,我正在打印一个字符串及其返回的数字。 我不明白它是如何从字符串中返回数字的。

这是代码片段。

string = "String" 
print int(string[0:min(5,len(string))],36) 

该片段的输出是

48417935 

我的 friend 告诉我这与计算机从字符串生成数字有关,但我很困惑。

有人可以解释一下为什么会这样吗?

请您参考如下方法:

你正在吃这片

>>> string[0:min(5,len(string))] 
'Strin' 

并将其转换为 base36 数字(类似于 hexadecimal 但使用全部 26 个字母)

>>> int('Strin', 36) 
48417935 

另一种得出该数字的方法是:

>>> ["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".index(x) for x in 'STRIN'] 
[28, 29, 27, 18, 23] 
>>> 28*36**4 + 29*36**3 + 27*36**2 + 18*36**1 + 23*36**0 
48417935