如何在Python中生成十六进制的范围?

4
我想在Python中使用变量a和变量b创建一个范围。
a = 0x88
b = 0xff
for x range(a, b):
    print(x)

从我的代码看,结果像这样:136, 137, 138, 139 ...

但是我希望循环的结果像这样。

88, 89, 8a, 8b, 8c, 8d, 8e, 8f, 90, 91 .... ff

请帮助我,谢谢


这个回答解决了你的问题吗? - kluvin
这回答解决了你的问题吗?在Python中两个十六进制值之间进行递增(迭代) - SiHa
1
print(f"{x:x}") 中的第二个 x 是要使用的格式。 - user5386938
你想要的结果是字符串 "88", "89" 等等...吗?还是单个字符串 "88, 89, 8a, ..."?这是关于如何显示数字还是数字本身的问题? - tdelaney
3个回答

4

使用 hex() 函数:

a = 0x88
b = 0xff
for x in range(a, b):
    print(hex(x))

结果是:

0x88
0x89
0x8a
0x8b
0x8c
0x8d
0x8e
0x8f
0x90
0x91
0x92
0x93
0x94
...

3
你可以使用hex(x)x转换为十六进制数字。
因此,你的代码看起来像这样:
a = 0x88
b = 0xff
for x in range(a, b):
    print(hex(x))


1
按照您的要求进行格式化:
a = 0x00
b = 0x100
for x in range(a, b):
    print('{:02x}'.format(x))

将通过"88"到"ff"生成

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接