def base(num,base):
"""
Input: num can be any base 10 integer, base can be any positive integer<=10.
Output: num is returned as a string in the specified base integer.
"""
from math import log
# Create a list of all possible digits
digits=[x for x in range(base)]
# Solve for highest base power
highestExponent=int(log(num,base))
# Create base expansion list from greatest to least
baseExpansionList=[base**x for x in range(highestExponent+1)]
baseExpansionList.reverse()
# Get digits in base
newDigits=[]
for x in baseExpansionList:
tmp=getDigits(num,x,digits)
num=num-(tmp*x)
newDigits.append(tmp)
# Convert newDigits to str format
numStr=""
for x in newDigits:
numStr+=str(x)
return numStr
def getDigits(num,baseNum,digitsList):
"""
Input: num, baseNum, and digitsList must all come from base(num,base) as is
currently specified.
Output: returns each digit in the output number of base(num,base).
"""
tmpList=[]
for x in digitsList:
if x*(baseNum)>num:
tmpList.append(x)
return max((set(digitsList)-set(tmpList)))