Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Number Base by wojtek96
def checkio(str_number, radix):
wynik = 0
for i in range(len(str_number)):
n=str_number[i]
if n.isdigit():
print(ord(n) -48)
if ord(n) - 48 >= radix:
return -1
wynik = wynik + (ord(n) - 48)*(radix**((len(str_number)-i-1)))
if ord(n) > 64:
if ord(n) -54 >radix:
return -1
wynik = wynik + (ord(n) - 55)*(radix**((len(str_number)-i-1)))
return wynik
#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"
Dec. 15, 2016