在实际项目中,会经常遇到将数据进行转换。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('只能输入十进制整数,请输入正确的数字')
执行结果:

