您好,登錄后才能下訂單哦!
這篇文章主要介紹“python怎么把整數(shù)轉(zhuǎn)換為任意進(jìn)制”,在日常操作中,相信很多人在python怎么把整數(shù)轉(zhuǎn)換為任意進(jìn)制問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”python怎么把整數(shù)轉(zhuǎn)換為任意進(jìn)制”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
javascript提供了一個(gè)number.toString(baseNum)的函數(shù),能夠?qū)umber轉(zhuǎn)換為36進(jìn)制以下的字符串。 python里面僅提供了將字符串轉(zhuǎn)換為整數(shù)的函數(shù),并沒有提供相應(yīng)的函數(shù)將整數(shù)轉(zhuǎn)換為任意進(jìn)制的字符串的函數(shù)(如果有的話,請(qǐng)告訴我一聲)。在網(wǎng)上找到了答案:
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
還有一個(gè)簡(jiǎn)化版:
def baseN(num,b): return ((num == 0) and "0" ) or ( baseN(num // b, b).lstrip("0") + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b])
到此,關(guān)于“python怎么把整數(shù)轉(zhuǎn)換為任意進(jìn)制”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。