Как и в теме, я работаю над полосой для преобразования строк в значения. когда основание меньше 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)))
. - person jonrsharpe   schedule 17.09.2017