程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2024-11(2)

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

发布于2021-11-13 19:37     阅读(609)     评论(0)     点赞(5)     收藏(5)


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

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

    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('只能输入整数!,请重新输入')

原文链接:https://blog.csdn.net/Argonaut_/article/details/121290780



所属网站分类: 技术文章 > 博客

作者:磨子舒

链接:https://www.pythonheidong.com/blog/article/1079799/5e57c6ed4937676fd453/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

5 0
收藏该文
已收藏

评论内容:(最多支持255个字符)