Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Number Base by Angelika
def checkio(napis, podst):
liczba=0
while len(napis)>0:
x=napis[0]
y=ord(x)
if y<65:
y=y-48
if y>=podst:
return -1
else:
liczba=liczba*podst+y
else:
y=y-55
if y>=podst:
return -1
else:
liczba=liczba*podst+y
nowy=""
for i in range (1,len(napis)):
nowy=nowy+napis[i]
napis=nowy
return liczba
#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. 20, 2016