python任意進制轉換


python任意進制轉換

import string


def module_n_converter(q, s, base=None):
    """
    將自然數按照給定的字符串轉換為base進制的字符串
    :param q: 自然數
    :param s: 字符串
    :param base: int,>=2.  轉換為多少進制
    :return: base進制的字符串
    """

    s = ''.join(sorted(set(s)))
    if base is None:
        base = len(s)
    out = ''
    dic = {i: j for i, j in zip(range(base), s)}
    while q:
        q, r = divmod(q, base)
        out = dic[r] + out
    return out

print(module_n_converter(481187, string.digits+string.ascii_lowercase)) # abab
print(int('abab', 36)) # 491187


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM