Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Without try except solution in Clear category for Number Base by Krischtopp
def checkio(str_number, radix):
result = 0
for i, char in enumerate(reversed(str_number)):
n = char_to_int(char)
if n >= radix:
return -1
else:
result += n * radix ** i
return result
def char_to_int(c):
return ord(c) - ord("A") + 10 if c.isalpha() else int(c)
#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"
Jan. 16, 2016