我一直在研究一个小程序,以打印出0到255的十六进制值,格式我一直无法解决。我还在学习,所以我希望得到关于如何使这段代码更好的建议,并实现我的结果。我试着使用join()方法用反斜线分隔每个十六进制值,但由于我在列表中迭代,每个字符都被反斜线分隔,这不是我想要的。我上传了一张图片来展示我是如何输出十六进制值的。任何帮助是非常感激的。
hex_chars1 = []
hex_chars2 = []
for i in range(0, 16):
hex_chars1.append(i)
for j in range(16, 256):
hex_chars2.append(j)
for char1 in hex_chars1:
print("x0" + "{0:x}".format(char1))
for char2 in hex_chars2:
print("x" + "{0:x}".format(char2))
你可以使用一个生成器表达式来生成格式化的值,然后连接()它们。
print(''.join(fr'\x{i:0>2x}' for i in range(256)))
这应该是你想要的
hex_chars = []
for i in range(0, 256):
if i <16:
hex_chars.append("\\x0" + "{0:x}".format(i))
else:
hex_chars.append("\\x" + "{0:x}".format(i))
print(hex_chars[i],end="")
if (i+1)%16==0:
print("")