Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Number Base by siuchninski.t
def checkio(str_number, radix):
input=str(str_number)
intv=0 #initialisation
res=0 #initialisation
pow=radix**(len(input)-1) #initialisation
for l in input:
if ord(l)>64:
intv=ord(l)-55 #A-Z
else:
intv=int(l) #0-9
if intv>=radix:
return -1 #input error
res+=(pow*intv) #calculating
pow/=radix
return int(res)
#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. 9, 2016