Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for Number Base by adrian.wawrzak
import string
def checkio(str_number, radix):
customBase = string.digits + string.ascii_uppercase
str_number = str_number[::-1]
result = 0
for index,letter in enumerate(str_number):
if letter not in customBase[0: radix]:
return -1
result += (customBase.index(letter)) * (radix ** (index))
return result
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
assert checkio("AF", 16) == 175, "Hex"
assert checkio("101", 2) == 5, "Bin"
assert checkio("101", 5) == 26, "5 base"
assert checkio("Z", 36) == 35, "Z base"
assert checkio("AB", 10) == -1, "B > A > 10"
Nov. 9, 2015