python(十進位制轉換成二進位制、八進位制、十六進位制)(正則)
阿新 • • 發佈:2018-12-29
#coding=utf-8 import re print("十進位制轉換成二進位制、八進位制、十六進位制") num = input("請輸入一個十進位制的整數:") pattern = re.compile(r'[^0-9]+') if(re.search(pattern,num)): print("輸入的格式不正確") else: num = int(num) #十六進位制 cc = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'] #a是二進位制,b是八進位制,c是十六進位制 alist = [] blist = [] clist = [] #轉成二進位制 temp = num while temp: residue = str(temp % 2) temp = temp // 2 alist.append(residue) alist.reverse() #轉成八進位制 temp = num while temp: residue = str(temp % 8) temp = temp // 8 blist.append(residue) blist.reverse() #轉成十六進位制 temp = num while temp: residue = cc[temp % 16] temp = temp // 16 clist.append(residue) clist.reverse() #輸出結果 print("轉換成二進位制為") print(''.join(alist)) print("轉換成八進位制為") print(''.join(blist)) print("轉換成十六進位制為") print(''.join(clist))
#coding=utf-8 print("十進位制轉換成二進位制、八進位制、十六進位制") try: num = int(input("請輸入一個十進位制的整數:\n")) #十六進位制 cc = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'] #a是二進位制,b是八進位制,c是十六進位制 alist = [] blist = [] clist = [] #轉成二進位制 temp = num while temp: residue = str(temp % 2) temp = temp // 2 alist.append(residue) alist.reverse() #轉成八進位制 temp = num while temp: residue = str(temp % 8) temp = temp // 8 blist.append(residue) blist.reverse() #轉成十六進位制 temp = num while temp: residue = cc[temp % 16] temp = temp // 16 clist.append(residue) clist.reverse() #輸出結果 print("轉換成二進位制為") print(''.join(alist)) print("轉換成八進位制為") print(''.join(blist)) print("轉換成十六進位制為") print(''.join(clist)) except: print("輸入的格式不正確")