Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for Number Base by BartoszKowalski
def checkio(str_number: str, radix: int) -> int:
a= 0
wynik = 0
c = 1
for i in str_number:
b = str_number[a]
b = ord(b)
if b>57:
b = b - 55 #ord("0")
else:
b = b - 48 #ord("9")
if b>=radix:
return -1
wynik = wynik + b * (radix ** (len(str_number) - c))
c = c + 1
a = a + 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"
print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")
Nov. 17, 2018