Python 3.x 如何通过input()获取01字符串?

Python 3.x 如何通过input()获取01字符串?,python-3.x,Python 3.x,我想得到一个仅由0和1组成的字符串。 由于在Python 3中,原始输入()被重命名为输入(),我写道: buf = str(input()) print(buf) 然而,当我尝试“00101”时,buf意外地变成了“65”。 为什么会发生这种情况以及如何预防? 作为Python的初学者,它让我非常困惑 更新:问题解决了。请参阅下面的答案。我在python3中尝试了这条语句,输出为00101 顺便说一句:函数input()的输出是字符串,您不需要在input()上调用str() 但如果在py

我想得到一个仅由0和1组成的字符串。 由于在Python 3中,原始输入()被重命名为输入(),我写道:

buf = str(input())
print(buf)
然而,当我尝试“00101”时,
buf
意外地变成了“65”。 为什么会发生这种情况以及如何预防? 作为Python的初学者,它让我非常困惑



更新:问题解决了。请参阅下面的答案。

我在python3中尝试了这条语句,输出为
00101

顺便说一句:函数
input()
的输出是字符串,您不需要在
input()上调用
str()


但如果在python(Python2.7)中运行
input()
,那么问题就解决了。我发现我忘了从环境变量中删除Python2.7目录。此外,以零开始的数字被视为八进制数。这就是为什么我在Python2中得到了00101的'65'。谢谢大家。

input
直接返回python3中的字符串。您不需要再次调用
str
,因为您运行的是Python2而不是Python3。检查你的路径。通过
import sys;print(sys.version)
始终从命令行运行
python
,并检查版本输出:)另外
buf=input()
会提供如上所述的字符串。不要将答案(“错误的python版本”)放入问题中,而是将其作为您自己的答案发布。