我需要 Python 3.3 中的代码来将整数转换为二进制。 这是我的第一次尝试:
a = input(str("Please Enter a Number")
if a == float:
print (1)
else print(0)
b = a/2
while True:
if b == float:
print(1)
else print(0)
我不知道为什么我总是收到 if a == float:
的错误。
而且我知道其余的代码也是错误的,但是这个 :
让我抓狂。
最佳答案
你的代码有很多问题:
- 你的缩进是关闭的。缩进在 Python 中非常重要,因为这是它知道什么是什么的方式。
- 您需要使用
isinstance
查看对象是否为 float 。我假设这就是您尝试使用a == float
进行的操作。但是,这没有意义,因为在 Python 3.x. 中,input
总是返回一个字符串对象。所以,a
是一个字符串。但是,如果float
实际上是一个变量,那么您应该更改它的名称。将变量命名为float
是一种不好的做法,因为它会覆盖内置变量。 - 您在每个
else
的末尾都缺少一个冒号。 - 第一行缺少右括号。
- 第一行的
str
是不必要的(不是错误,但我只是想提一下)。
但是,我不会解决所有这些问题,而是要向您介绍 bin
内置:
>>> n = 127
>>> bin(n)
>>> # The "0b" at the start means "binary".
'0b1111111'
>>> # This gets rid of the "0b"
>>> bin(n)[2:]
'1111111'
>>>
它的构建明确是为了做你想做的事。
此外,这里有一些您可能会喜欢的 Python 引用资料:
关于将整数转换为二进制的Python代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19668774/