Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
basses solution in Clear category for Number Base by checinski.szymon
def getNumValue(value):
ascii = ord(value)
if ascii >= 48 and ascii <= 57:
return ascii - 48
if ascii >= 65 and ascii <= 90:
return ascii - 55
def checkio(str_number, radix):
result = 0
i = 0
while i < len(str_number):
value = getNumValue(str_number[len(str_number)-1-i])
if value >= radix: return -1
result += value * (radix**i)
i += 1
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"
Oct. 22, 2016