既然%b表示的是2进制的格式化,但是这么写就会报错,最离谱的是16进制写成%x就没错
求大佬指教啊!!!!while True:
temp = input('请输入一个整数(输入Q结束程序):')
if temp == 'Q':
print('程序结束!')
break
else:
temp = int(temp)
print('十进制 -> 十六进制 :',temp,'->',"{:X}".format(temp))
print('十进制 -> 八进制 :',temp,'->',"{:o}".format(temp))
print('十进制 -> 二进制 :',temp,'->',"{:b}".format(temp))
print('...................这是一条分割线..................')
print('十进制 -> 十六进制 :%d -> 0x%x' % (temp,temp))
print('十进制 -> 八进制 :%d -> 0o%o' % (temp,temp))
print('十进制 -> 二进制 :%d -> 0b%b' % (temp,temp))
最后一行报错了,简直离谱,为啥啊~~ 本帖最后由 昨非 于 2021-3-23 12:37 编辑
python没有%b的格式串来格式化二进制
直接使用内置bin()函数不香吗?{:10_256:}
print('十进制 -> 二进制 :%d -> ' % temp,bin(temp)) 十进制转换二进制不是bin()吗 %b表示的是2进制的格式化,这句话本身就是错的
页:
[1]