Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Second solution in Clear category for Number Base by u2ezi
def checkio(str_number, radix):
result=0
pradix=1;
i=len(str_number)-1
while(i>=0):
if str_number[i].isalpha():
p = ord(str_number[i])-ord('A')+10
else:
p= (int)(str_number[i])
if p>=radix:
return -1
result+=p*pradix
pradix*=radix
i-=1
return result
'''
try:
return int(str_number,radix)
except ValueError:
return -1
'''
#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. 17, 2016