我正在尝试在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!")
答案 0 :(得分:0)
您希望在期望字符串作为输入时使用raw_input
。 input
计算为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()
已将其删除。