Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Number Base by CyprianSzlachciak
# migrated from python 2.7
def checkio(str_number, radix):
b=0
dl=len(str_number)
wynik=0
for a in str_number:
if ord(a) >= 48 and ord(a) <=57:
b=int(a)
else:
b=ord(a)-ord("7")
if b>=radix:
return -1
else:
wynik=wynik+b*(radix**(dl-1))
dl-=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"
Oct. 24, 2016