Python-如何将十六进制数字格式化为大写和两位数?
我需要做一个十六进制计数器 我试着这样做:Python-如何将十六进制数字格式化为大写和两位数?,python,Python,我需要做一个十六进制计数器 我试着这样做: x = 0 while(x != 10): print('Number '+'{0:x}'.format(int(x))) x = x + 1 柜台在工作。唯一的问题是输出如下所示 0 5 a f 14 19 1 6 b 10 15 1a 2 7 c 11 16 1b 3 8 d 12 17 1c 4 9 e
x = 0
while(x != 10):
print('Number '+'{0:x}'.format(int(x)))
x = x + 1
柜台在工作。唯一的问题是输出如下所示
0 5 a f 14 19
1 6 b 10 15 1a
2 7 c 11 16 1b
3 8 d 12 17 1c
4 9 e 13 18 1d
00 05 0A 0F 14 19
01 06 0B 10 15 1A
02 07 0C 11 16 1B
03 08 0D 12 17 1C
04 09 0E 13 18 1D
我希望它看起来像这样
0 5 a f 14 19
1 6 b 10 15 1a
2 7 c 11 16 1b
3 8 d 12 17 1c
4 9 e 13 18 1d
00 05 0A 0F 14 19
01 06 0B 10 15 1A
02 07 0C 11 16 1B
03 08 0D 12 17 1C
04 09 0E 13 18 1D
我怎样才能做到这一点呢?这一点在中进行了解释
要获取大写字母,请执行以下操作:
“x”十六进制格式。输出以16为基数的数字,使用小写字母表示9以上的数字
“X”十六进制格式。输出以16为基数的数字,使用大写字母表示9以上的数字
要获得两位数:
宽度是定义最小字段宽度的十进制整数。如果未指定,则字段宽度将由内容决定
如果没有给出明确的对齐方式,则在宽度字段前面加一个零('0'
)字符可以为数字类型启用符号感知零填充。这相当于对齐类型为'='
的填充字符'0'
因此,您需要将宽度设置为2,将填充设置为0,将对齐设置为=
,或者更简单地说,只需在宽度之前使用特殊的0
前缀
因此:
当我们在做的时候,这是一个相当愚蠢的代码
首先,x
已经是一个int
,那么为什么要对它调用int
print('Number '+'{0:02X}'.format(x))
同时,如果在格式
字符串中输入的唯一内容是单个格式说明符,则不需要str.format
,只需格式
:
print('Number ' + format(x, '02X'))
或者,str.format
的整个要点是,您可以将多个内容放入一个格式字符串中:
print('Number {:02X}'.format(x))
或者,如果您使用的是Python 3.6或更高版本:
print(f'Number {x:02x}')