input()导致“扫描字符串文字时出现EOL”错误

时间:2015-02-17 16:58:30

标签: python python-3.x input syntax

我正在尝试在Python 3.4.7中编写一个块,如果输入的材料是 Enter ,则运行该块。但是当我按 Enter 时,它会显示以下错误消息:

SyntaxError: EOL while scanning string literal

一些示例代码:

answer = input("to find out your result, press enter.")
# Problem is here, I don't know what kind of sign or Python rule I'm not following
while answer == (<<Enter>>):
    print("You are the father!")

3 个答案:

答案 0 :(得分:0)

您希望在期望字符串作为输入时使用raw_inputinput计算为python表达式。

答案 1 :(得分:0)

为什么你认为while answer == (<<Enter>>)在Python中意味着什么?我建议你做一个Python教程,这样你就可以掌握语法。

如果我理解你想要的东西,你可以删除该行:

answer = input("to find out your result, press enter.")
print("You are the father!")

input的调用会停止其他任何事情,直到按下输入为止。

答案 2 :(得分:0)

我很确定你并没有真正使用Python 3(除非你从2017年开始,当我猜测Python 3.4.7可能会发布时)。 Python 2中input()的输入被执行(input(prompt) = eval(raw_input(prompt))),当它只是一个空字符串时,它会导致SyntaxError

Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> input('Hello?')
Hello?
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 0

    ^
SyntaxError: unexpected EOF while parsing

使用raw_input()通常是您想要的。旧版input()已在Python 3中删除,而旧版raw_input()已将其删除。