python 小練習 10
阿新 • • 發佈:2017-07-30
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