Python 3.x 如何通过input()获取01字符串?
我想得到一个仅由0和1组成的字符串。 由于在Python 3中,原始输入()被重命名为输入(),我写道: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
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版本”)放入问题中,而是将其作为您自己的答案发布。