打印二进制值Python

LLo*_*cas 2 python

我已经尝试将其转换为字符串,添加0到它,但它仍然只显示十进制值,我怎样才能让它显示它的二进制值?

如果我尝试这个:

binary = 0b010
print(binary)
Run Code Online (Sandbox Code Playgroud)

或这个:

binary = 0b010
print(str(binary))
Run Code Online (Sandbox Code Playgroud)

输出如下:

2
Run Code Online (Sandbox Code Playgroud)

我也尝试过这个:

binary = 0b010
print("{0:b}".format(binary))
Run Code Online (Sandbox Code Playgroud)

输出如下:

10
Run Code Online (Sandbox Code Playgroud)

期望的输出:

010
Run Code Online (Sandbox Code Playgroud)

不好的部分是它没有填充左边的 0 的数量,它给了我一个10我想要的输出010,但我希望它显示我输入的任何二进制可能的 0 的数量。

我是Python新手,但每次我寻找如何做到这一点时,在我看来,它只是从整数转换为二进制并显示它。但我无法使用该bin()功能,所以我直接在这里询问,谢谢您的理解。

Mar*_*vić 7

你有几种方法可以解决这个问题。

最适合您的用例的方法是format()

binary = 0b010

print("{:03b}".format(binary))
Run Code Online (Sandbox Code Playgroud)

哪个输出:

010
Run Code Online (Sandbox Code Playgroud)

更改 3{:03b}将更改输出的最小长度(如果需要,它将添加前导零)。

如果你想在不带前导零的情况下使用它,你可以简单地这样做{:b}