一、定义一个Dec_system类
并在此Dec_system类下分别定义decToBin()、decToOct()、decToHex()这三个函数实现十进制转换成二进制、八进制、十六进制的功能,定义run()函数实现代码的运行方法。
在__init__方法下实现用户输入功能,利用int(input())将用户输入的数字字符串数据转成整形数据
二、定义decToBin()函数实现十进制转换为二进制
三、定义decToOct()函数实现十进制转为八进制
四、定义decToHex()函数实现十进制转为十六进制
五、定义一个run()方法实现代码的运行方法
六、实例化对象,使用run()方法运行程序
运行结果演示
七、完整代码实现如下
class Dec_system(object): def __init__(self): self.num = int(input('请输入十进制的数字:')) # 十进制转换成二进制 def decToBin(self): arry = [] #定义一个空数组,用于存放2整除后的商 while True: arry.append(str(self.num % 2)) #用列表的append方法追加 self.num = self.num // 2 #用地板除求num的值 if self.num == 0: #若地板除后的值为0,那么退出循环 break return '0b' + "".join(arry[::-1]) #列表切片倒叙排列后再用join拼接 # 十进制转为八进制 def decToOct(self): arry = [] # 定义一个空数组,用于存放8整除后的商 while True: arry.append(str(self.num % 8)) # 用列表的append方法追加 self.num = self.num // 8 # 用地板除求num的值 if self.num == 0: # 若地板除后的值为0,那么退出循环 break return '0o' + "".join(arry[::-1]) # 列表切片倒叙排列后再用join拼接 # 十进制转为十六进制 def decToHex(self): arry = [] # 定义一个空数组,用于存放16整除后的商 while True: if self.num % 16 < 10: arry.append(str(self.num % 16)) # 用列表的append方法追加 elif self.num % 16 == 10: arry.append('A') elif self.num % 16 == 11: arry.append('B') elif self.num % 16 == 12: arry.append('C') elif self.num % 16 == 13: arry.append('D') elif self.num % 16 == 14: arry.append('E') elif self.num % 16 == 15: arry.append('F') self.num = self.num // 16 # 用地板除求num的值 if self.num == 0: # 若地板除后的值为0,那么退出循环 break return '0x' + "".join(arry[::-1]) # 列表切片倒叙排列后再用join拼接 # 运行方法 def run(self): print("-----功能界面-----") print('1、十进制转换成二进制') print('2、十进制转换成八进制') print('3、十进制转换成十六进制') choice = int(input('请输选择的功能:')) if choice == 1: print(self.decToBin()) if choice == 2: print(self.decToOct()) if choice == 3: print(self.decToHex()) JZ = Dec_system() JZ.run()