今天在写代码时遇到的问题:
一般将十进制数转换为十六进制我们可以这样:
a='%#x'%10 print('a')
或者
a='{0:#x}'.format(11) print(a)
或者
a=f'{11:#x}' print(a)
反正很多,随便一种都可以,但是今天遇到一个要求离谱的题,他要求这样输出:0x0000…b
中间要留有一定宽度,想破了头,终于…
出来了:
a='%0#10x'%11 print('a')
没错只需添加几个数字,这个也就是说当宽度不够十个时就用0来填充。解决掉这个后,心里还是很愉快的。然后一顿操作,发现了一些其他表示方法
print(1,str.format('{0:<4}{1:<4}',6,4,7)) # :左边的数字表示参数的位置,右边可使用一些操作比如说,对齐,留空等 print(str.format('{2:4}{1:6}',6,4,7)) print(float.hex(11.5)) # 转换浮点数的十六进制 print(f'{11:#10x}')#花里胡哨的操作。。 print('{2}{1}{0}{3}'.format(*'awebddrcq',)) #可实现对字符的排序 print(f'{11.1:.2f}')