Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
newbie solution in Clear category for Number Base by ewa_c
import string
NUMBERS = string.digits
list = string.digits + string.ascii_uppercase
def checkio(str_number, radix):
final = []
result=0
for i in range(36):
if list[i] in str_number:
if i>=radix:
return -1
for i in range(len(str_number)):
if str_number[i] in NUMBERS:
x=int(str_number[i])
final.append(x)
else:
n=0
while n < 36:
if str_number[i]==list[n]:
final.append(n)
print(final)
n+=1
x = len(final)-1
for i in range(len(final)):
result += pow(radix,i) * final[x]
x-=1
return result
#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"
Nov. 20, 2016