python基础作业:利用面对面对象实现进制间的转换

简介: python基础作业:利用面对面对象实现进制间的转换

一、定义一个Dec_system类


并在此Dec_system类下分别定义decToBin()、decToOct()、decToHex()这三个函数实现十进制转换成二进制、八进制、十六进制的功能,定义run()函数实现代码的运行方法。


在__init__方法下实现用户输入功能,利用int(input())将用户输入的数字字符串数据转成整形数据

be2c064398a74884ae5b822f7f97f6df.png



二、定义decToBin()函数实现十进制转换为二进制




三、定义decToOct()函数实现十进制转为八进制





四、定义decToHex()函数实现十进制转为十六进制


b37123e2cf064534aae8056ddc4e4519.png



五、定义一个run()方法实现代码的运行方法


4a3b8cf79212464ebf6cbebf76d2a88b.png



六、实例化对象,使用run()方法运行程序


263db23b88f64a7da36d367a8ed1801f.png

运行结果演示

522f12fc03534f0f8f0eb302cefa7dd3.png


七、完整代码实现如下



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()


相关文章
|
2月前
|
Python
python对象模型
这篇文章介绍了Python中的对象模型,包括各种内置对象类型如数字、字符串、列表、字典等,以及如何使用`type()`函数来查看变量的数据类型。
|
2月前
|
Python
探索Python中的魔法方法:打造你自己的自定义对象
【8月更文挑战第29天】在Python的世界里,魔法方法如同神秘的咒语,它们赋予了对象超常的能力。本文将带你一探究竟,学习如何通过魔法方法来定制你的对象行为,让你的代码更具魔力。
39 5
|
7天前
|
测试技术 数据库 开发者
Python作为一种谦逊的编程语言:对象自省机制的探讨
Python的自省机制是该语言的一个强大特性,为开发者提供了深入了解和操作对象的能力。它增强了Python的灵活性,使得开发者可以更加精准地控制程序的行为。然而,合理利用自省能力,避免其成为代码复杂性的来源,是每个Python开发者需要考虑的问题。通过熟练运用Python提供的自省工具和技巧,可以更好地设计和实现高效、易维护的Python应用。
14 2
|
2月前
|
存储 程序员 Python
Python类的定义_类和对象的关系_对象的内存模型
通过类的定义来创建对象,我们可以应用面向对象编程(OOP)的原则,例如封装、继承和多态,这些原则帮助程序员构建可复用的代码和模块化的系统。Python语言支持这样的OOP特性,使其成为强大而灵活的编程语言,适用于各种软件开发项目。
18 1
|
2月前
|
程序员 Ruby Python
Python里的类和对象是什么?
本文介绍了Python中面向对象编程的核心概念——类与对象。类作为一种“蓝图”,定义了一组属性和方法,用于描述一类对象的共同特征与行为。通过类可以创建具体的对象实例,每个对象拥有类所定义的属性和方法。文章通过`Human`类的例子详细展示了如何定义类、初始化对象及其属性、定义方法,以及如何给对象添加自定义属性。此外,还介绍了如何通过类创建多个具有不同特性的对象实例,并探讨了属性覆盖和使用`@property`装饰器实现只读属性的方法。
|
3月前
|
Python
Python中使用类和对象
【7月更文挑战第23天】
29 6
|
4月前
|
存储 Go 索引
牢记python对象的操作方式
【6月更文挑战第20天】在Python中,`hash()`和`is`帮助确定对象的相等性。`dir()`和`vars()`揭示对象的属性和内部表示,`__slots__`优化内存使用。列表和字典结构有不同的内存和性能特性,字典使用哈希表进行快速访问。
378 5
牢记python对象的操作方式
|
3月前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型:图像语义分割与对象检测
【7月更文挑战第15天】 使用Python实现深度学习模型:图像语义分割与对象检测
58 2
|
2月前
|
Python
【python笔记】使用zip函数迭代多个可迭代对象
【python笔记】使用zip函数迭代多个可迭代对象
|
3月前
|
Python
下一篇
无影云桌面