在实际项目中,会经常遇到将数据进行转换。python中将十进制转换为二进制使用bin()函数,转换成八进制使用oct()函数,转换成十六进制使用hex()函数
练习:将十进制数据转换为二进制、八进制和十六进制
将十进制数据转换为二进制的5中方法,如下:
#将十进制转换为二进制 num=int(input('请输入一个十进制整数:')) #将str类型转换成int类型 print(num,'的二进制数为:',bin(num)) #第一种写法,使用了可变的位置参数 print(str(num)+'的二进制数为:'+str(bin(num))) #第二种写法,使用“+”作为连接符,“+”左右两边均为str类型 print('%s的二进制数为:%s' % (num,bin(num))) #第三种写法,格式化字符串 print('{0}的二进制数为:{1}'.format(num,bin(num))) #第三种写法,格式化字符串 print(f'{num}的二进制数为:{bin(num)}') #第三种写法,格式化字符串
执行结果:
接下来将十进制转换成八进制,只需要从上面任意一种展示方法即可
num=int(input('请输入一个十进制整数:')) #将str类型转换成int类型 print(f'{num}的八进制数为:{oct(num)}')
执行结果:
将十进制转换为十六进制,使用hex()函数
num=int(input('请输入一个十进制整数:')) #将str类型转换成int类型 print(f'{num}的十六进制数为:{hex(num)}')
执行结果:
扩展:
当输入不是十进制整数时,提示用户输入正确的数据
def fun(): num=int(input('请输入一个十进制整数:')) #将str类型转换成int类型 print(f'{num}的十六进制数为:{hex(num)}') if __name__ == '__main__': while True: try: fun() break #当fun方法正确执行后退出程序 except: print('只能输入十进制整数,请输入正确的数字')
执行结果: