#!/usr/bin/env python

__author__ = "bt3"

''' convert an integer to a string in any base'''

def convert_from_dec_to_any_base(number, base):
    '''
    >>> number, base = 9, 2
    >>> convert_from_dec_to_any_base(number, base)
    '1001'
    '''

    convertString = '012345679ABCDEF'

    if number < base:
        return convertString[number]

    else:
        return convert_from_dec_to_any_base(number//base, base) + \
                                            convertString[number%base]



def convert_from_decimal_to_binary(number, base):
    '''
    >>> number, base = 9, 2
    >>> convert_from_decimal_to_binary(number, base)
    1001
    '''

    multiplier, result = 1, 0

    while number > 0:
        result += number%base*multiplier
        multiplier *= 10
        number = number//base

    return result



def convert_from_decimal_larger_bases(number, base):
    '''
    >>> number, base = 31, 16
    >>> convert_from_decimal_larger_bases(number, base)
    '1F'
    '''
    strings = "0123456789ABCDEFGHIJ"
    result = ""

    while number > 0:
        digit = number%base
        result = strings[digit] + result
        number = number//base

    return result



if __name__ == '__main__':
    import doctest
    doctest.testmod()