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}')