看板 Python 關於我們 聯絡資訊
想把一個十進位數字轉成一個其他進位的數字 (從二到十六進位) google一下好像沒有函式可做到這件事情 於是自己來做 但覺得自己的方法可能不是最漂亮的 想問板上的大大們是否有更好的方法 謝謝! 以下是程式碼 number = [] base = input("Please enter a number (2~16): ") sum = input() while (sum != 0): if (sum % base) <= 9: number.append(str(sum % base)) else: number.append(chr(sum % base + 55)) # 把 10 以上的數字轉成十六進位 sum = sum / base -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.166.114
Sforever:sum = input 02/06 13:31
Sforever:while sum!= 0: 02/06 13:32
Sforever: b,sum = sum%base, sum/base 02/06 13:32
Sforever: print(b) #右到左 02/06 13:33
Sforever:好像差不多= =\ 沒看就推文了 拍謝 02/06 13:36
AndCycle:這裡有個盲點, input會自動轉型成int, 02/06 15:10
PCIT:沒有看連結,不過可以試raw_input不會轉型成int 02/09 15:00
bobhsiao:我也是想到 int() 只不過輸入要是字串 02/10 23:15
apua:10以上的數字要換成英文字的話,不如自己做一個表 02/19 19:16
apua:table="0123456789abcde" 02/19 19:16
apua:number="" 02/19 19:17
apua:(迴圈中)number=table[sum%base]+number 02/19 19:18