Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Number Base by DominikKossinski
def checkio(str_number, radix):
tab = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
n= len(str_number)
l=0
z=0
if radix<=36:
if radix>=2:
for i in range (n):
znak = str_number[i]
c = tab.rfind(znak)
if(c>=radix):
z=z+1
else:
l=l*radix+c
else:
l=-1
else:
l=-1
if(z>0):
return -1
else:
return l
#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. 21, 2016