假設你想將乙個整數轉換為乙個二進位制和十六進製制字串。例如,將整數 10 轉換為十進位制字串表示為 10 ,或將其字串表示為二進位制 1010 。
實現 以 2 到 16 之間的任何基數為引數:
def tostr(num,base):讓我們再次跟蹤演算法; 這次我們將數字 10 轉換為其基數為 2 的字串(「1010」):convertstring = "0123456789abcdef"#最大轉換為16進製制
if num < base:
return convertstring[num]
else:
return tostr(num//base,base) + convertstring[num%base]
print(tostr(1453,16))#5ad
上圖顯示我們得到的結果,但看起來數字是錯誤的順序。該演算法是正確的,因為我們首先在第 6 行進行遞迴呼叫,然後我們新增餘數的字串形式。 如果我們反向返回convertstring
查詢並返回 tostr 呼叫,則生成的字串將是反向的!通過延後連線操作直到遞迴呼叫返回,我們可以得到正確順序的結果。
python實現羅馬數字轉換為整數
輸入 iii 輸出 3 輸入 iv 輸出 4 輸入 ix 輸出 9 輸入 lviii 輸出 58 解釋 l 50,v 5,iii 3.輸入 mcmxciv 輸出 1994 解釋 m 1000,cm 900,xc 90,iv 4.其實實現的思路很簡單,我們就先建立羅馬數字與阿拉伯數字對應的字典,然後再...
Python 整數list轉換為數字
今天刷題,碰到了乙個需要將數字倒序輸出的問題。按照傳統方法,先用除10取餘的方法將其拆分為乙個乙個的數字,存到列表了 接著把list倒序排列 最後再用乘10的多少次冪的方法累加輸出。在python裡,將輸入數字轉化為字串後,用str 函式,倒序可以用reversed 函式,輔以list 可直接得到數...
python實現將整數轉換為羅馬數字
羅馬數字包含以下七種字元 i,v,x,l,c,d和m。字元數值i1 v5x10 l50c100 d500 m1000 例如,羅馬數字 2 寫做ii,即為兩個並列的 1。12 寫做xii,即為 x ii 27 寫做xxvii,即為 xx v ii 通常情況下,羅馬數字中小的數字在大的數字的右邊。但也存...