栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

十进制的转换(十进制转二进制,八进制,十六进制)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

十进制的转换(十进制转二进制,八进制,十六进制)

功能:将指定的十进制数转为二,八,十六进制

写代码完的时候我们都应有一个想法,看可不可以优化代码

    num = int(input('请输入一个十进制的整数:'))  # 将str类型转换成我们的int类型
    print(num, '的二进制数为:', bin(num))  # 第一种写法,使用了个数可变的位置参数
    print(str(num) + '的二进制数为:' + bin(num))  # 第二种写法,使用了+作为连接符(左右均为str类型)注str转出来的就是字符串类型
    print('%s的二进制数为:%s' % (num, bin(num)))  # 第三种写法,格式化字符串
    print('{0}的二进制数为:{1}'.format(num, bin(num)))  # 第三种写法,格式化字符串
    print('f{num}的二进制数为:{bin(num)}')  # 第三种写法,格式化字符串 f表示format格式化的意思
    print('======================================')  # 但f只使用与少的情况,多的一般用forma
    print(f'{num}的八进制数为:{oct(num)}')
    print(f'{num}的十六进制数为:{hex(num)}')

效果图:

上面代码存在的问题:万一用户就是要输入其他英文或者特殊字符在上面怎么办?
想法:将转换的全部定义为函数,然后再统一调用,用while True来循环,再用用try–except来进行异常处理
优化:

def fun():
    num = int(input('请输入一个十进制的整数:'))  # 将str类型转换成我们的int类型
    print(num, '的二进制数为:', bin(num))  # 第一种写法,使用了个数可变的位置参数
    print(str(num) + '的二进制数为:' + bin(num))  # 第二种写法,使用了+作为连接符(左右均为str类型)注str转出来的就是字符串类型
    print('%s的二进制数为:%s' % (num, bin(num)))  # 第三种写法,格式化字符串
    print('{0}的二进制数为:{1}'.format(num, bin(num)))  # 第三种写法,格式化字符串
    print('f{num}的二进制数为:{bin(num)}')  # 第三种写法,格式化字符串 f表示format格式化的意思
    print('======================================')  # 但f只使用与少的情况,多的一般用forma
    print(f'{num}的八进制数为:{oct(num)}')
    print(f'{num}的十六进制数为:{hex(num)}')


if __name__ == '__main__':
    while True:
        try:
            fun()
            break
        except:
            print('只能输入整数!,请重新输入')

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/468426.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号