千家信息网

python怎么把整数转换为任意进制

发表于:2024-10-28 作者:千家信息网编辑
千家信息网最后更新 2024年10月28日,这篇文章主要介绍"python怎么把整数转换为任意进制",在日常操作中,相信很多人在python怎么把整数转换为任意进制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"p
千家信息网最后更新 2024年10月28日python怎么把整数转换为任意进制

这篇文章主要介绍"python怎么把整数转换为任意进制",在日常操作中,相信很多人在python怎么把整数转换为任意进制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"python怎么把整数转换为任意进制"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

javascript提供了一个number.toString(baseNum)的函数,能够将number转换为36进制以下的字符串。 python里面仅提供了将字符串转换为整数的函数,并没有提供相应的函数将整数转换为任意进制的字符串的函数(如果有的话,请告诉我一声)。在网上找到了答案:

def base10toN(num,n):    """Change a  to a base-n number.    Up to base-36 is supported without special notation."""    num_rep={10:'a',         11:'b',         12:'c',         13:'d',         14:'e',         15:'f',         16:'g',         17:'h',         18:'i',         19:'j',         20:'k',         21:'l',         22:'m',         23:'n',         24:'o',         25:'p',         26:'q',         27:'r',         28:'s',         29:'t',         30:'u',         31:'v',         32:'w',         33:'x',         34:'y',         35:'z'}    new_num_string=''    current=num    while current!=0:        remainder=current%n        if 36>remainder>9:            remainder_string=num_rep[remainder]        elif remainder>=36:            remainder_string='('+str(remainder)+')'        else:            remainder_string=str(remainder)        new_num_string=remainder_string+new_num_string        current=current/n    return new_num_string
还有一个简化版:
def baseN(num,b):  return ((num == 0) and  "0" ) or ( baseN(num // b, b).lstrip("0") + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b])

到此,关于"python怎么把整数转换为任意进制"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0