Python中的输入不工作
我刚开始学习Python。
我在网上看一个教程,作者用的是 str = input()
,然后他输入了一句话。之后,他把输入的内容保存在了变量str里。但是,当我在我的Python环境里试着用 str = input()
时却不行。这里是出现的错误:
>>> a = input()
test sentence
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
a = input()
File "<string>", line 1
test sentence
^
SyntaxError: unexpected EOF while parsing
你能告诉我这是为什么吗?
4 个回答
2
因为你使用了 input()
,它需要的是有效的Python代码。你会遇到 SyntaxError
错误,因为 test sentence
不是有效的Python代码。
所以,试试用 raw_input()
(它会返回一个字符串)或者这样做:
>>> a = input()
'test sentence' # by entering it as a string, it is evaluable
参考资料:
4
在Python 2和Python 3之间,input
的意思发生了变化。在Python 2中,input
会把你输入的内容当作Python代码来执行。所以如果你输入的内容在Python中语法不正确,就会出现错误。此外,还有一个叫raw_input
的函数,它只是简单地接收你输入的内容,并把它作为字符串返回。
因为这种执行输入的方式并不是特别有用(而且使用eval函数是有风险的),所以在Python 3中,input
的行为被替换成了Python 2中的raw_input
。
你的教程作者很可能使用的是Python 3,在这个版本中,input
的行为就像Python 2中的raw_input
一样。如果你使用的是Python 2,那就直接使用raw_input
吧。