Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for Number Base by Mahoter
def checkio(str_number, radix):
liczba = 0
power = len(str_number) - 1
res = 0
for LET in str_number:
temp = power + 0
potega = 1
while temp >0:
potega *= radix
temp -= 1
if ord(LET) >47 and ord(LET) < 58:
liczba = (ord(LET) - 48)
elif ord(LET) >64 and ord(LET) < 91:
liczba = (ord(LET) - 55)
if liczba < radix:
res = res + (liczba * potega)
else: return -1
power -= 1
liczba = 0
return 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"
Jan. 17, 2016