【发布时间】:2018-02-25 23:34:44
【问题描述】:
与主题相同,我正在研究将字符串转换为值的条带。 当基数小于 10 时:
s = "" # string for example: "123", "a2b"
base = int() #2,10, 16, 32
a = len(s)
for i, j in zip(s[::-1], range(0, a)):
x += int(i)*base**int(j)
print (x)
但是对于大于 10 的基数,我意识到数字将显示为 1、.....10、a、b、c、d、...、j、... 我的脚本无法运行因为一个字母没有被赋予任何价值。我也明白int(s, base) 会解决我的问题,但我正在寻找一个解决方案来编写我的脚本。
【问题讨论】:
-
您是对的,您不能使用
int,但您可以在字典 中查找这些值,并将字母映射到值。例如,import string; print(dict(enumerate(string.ascii_lowercase, 10)))。
标签: python binary calculation