Python中的输入不工作

3 投票
4 回答
6625 浏览
提问于 2025-04-17 19:01

我刚开始学习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吧。

3

a = input() test sentence 这段代码是无效的。

你可以用 # 符号来写注释。

补充一下:你用的是什么版本的 Python?试试用 raw_input 代替 input

在 Python 2 中,inputraw_input 的区别:

raw_input : 读取用户输入的内容,直到按下回车,并把它存储为 str 类型。

input : 读取用户输入的内容,并计算这个输入。

raw_input 在 Python 3 中变成了 input

撰写回答