2016-03-03 48 views
-1

我想在Python 3获得一个字符串,它只是由0和1 的raw_input以来()更名为输入(),我写道:如何通过input()获取01字符串?

buf = str(input()) 
print(buf) 

然而,当我尝试“00101”,令人惊讶的竟然是'65'。 为什么会发生这种情况,以及如何防止这种情况?作为Python的初学者,它让我非常困惑。


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

+0

'input'直接在python3中返回一个字符串。你不需要再次调用'str' –

+2

然后你正在运行python 2而不是python 3.检查你的PATH。你用'import sys得到了什么;打印(sys.version)' – cdarke

+1

总是从你的命令行运行'python'并检查版本输出:)还有'buf = input()'给你一个如上所述的字符串。 – Torxed

回答

0

我尝试在python3这一说法,并输出为00101

BTW:从功能input()输出字符串,你不需要调用str()input()

你要是跑不过在python input()(Python 2.7版),你得到输出65

0

问题解决了。我发现我忘了从环境变量中删除Python 2.7目录。此外,从零开始的数字被认为是八进制数。这就是为什么我在Python 2中为'00101'获得'65'。谢谢大家。

相关问题