1. 程式人生 > >python 小練習 10

python 小練習 10

oot 每次 += ret 字母 val pre 字母表 bsp

給你一個十進制數a,將它轉換成b進制數,如果b>10,用大寫字母表示(10用A表示,等等)
a為32位整數,2 <= b <= 16
如a=3,b = 2, 則輸出11

AC:

dic = {10:A,11:B, 12:C,13:D,14:E,15:F}
 
def decToother(num, basic):
    rsl = []
    while num != 0:
        mod = int(num % basic)
        if mod >  9:
            rsl.append(dic[mod])
        
else: rsl.append(str(mod)) num = num / basic return rsl[::-1] #這樣也可以得到進制轉換的數,不用乘以10,只要將每次除得的余數放在一個列表裏,最後再翻轉就ok了。 def printRsl(sign,L): rsl = ‘‘ if sign == -: rsl += - for value in L: #L中都是字符串 rsl += value print rsl sign = - if a < 0 else
+‘ #因為正負性從數字轉換為字符串也要花點功夫 a = a if a >=0 else -a printRsl(sign,decToother(a,b))

python 小練習 10