计算机基础进制的转换(二进制,八进制,十进制,十六进制)

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

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

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

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值