Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Number Base by grazik
def checkio(str_number, radix):
number = []
result = 0
for i in str_number:
if not(ord(i) >= ord('0') and ord(i) <= ord('9') ):
number.append(int(ord(i) - ord('A')+ 10))
else:
number.append(int(ord(i) - ord('0')))
for i in number:
if i >= radix:
return -1
for i in range(len(number)):
result += number[i]*radix**(len(number)-1-i)
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. 19, 2016