Python解析时出现意外的EOF
这是我的python代码。有人能告诉我有什么问题吗Python解析时出现意外的EOF,python,eof,python-2.x,Python,Eof,Python 2.x,这是我的python代码。有人能告诉我有什么问题吗 while 1: date=input("Example: March 21 | What is the date? ") if date=="June 21": sd="23.5° North Latitude" if date=="March 21" | date=="September 21": sd="0° Latitude" if date=="December 21": sd="23.5° South Lat
while 1:
date=input("Example: March 21 | What is the date? ")
if date=="June 21":
sd="23.5° North Latitude"
if date=="March 21" | date=="September 21":
sd="0° Latitude"
if date=="December 21":
sd="23.5° South Latitude"
if sd:
print sd
下面是发生的情况:
>>>
Example: March 21 | What is the date?
Traceback (most recent call last):
File "C:\Users\Daniel\Desktop\Solar Declination Calculater.py", line 2, in <module>
date=input("Example: March 21 | What is the date? ")
File "<string>", line 0
^
SyntaxError: unexpected EOF while parsing
>>>
>
例:3月21日|几号?
回溯(最近一次呼叫最后一次):
文件“C:\Users\Daniel\Desktop\Solar Declination Calculator.py”,第2行,在
日期=输入(“例如:3月21日|日期是什么?”)
文件“”,第0行
^
SyntaxError:分析时出现意外的EOF
>>>
缩进它第一。这将解决您的语法错误
除此之外,您的程序中还有几个其他问题
- 当您想要接受字符串作为输入时,请使用
raw\u input
input
只接受Python表达式,并对它们执行eval
- 您正在脚本中使用某些8位字符,如
0°
。您可能需要使用通常称为编码cookie的#-*-coding:latin-1-*-
行在脚本顶部定义编码
- 另外,在进行str比较时,请规范化字符串并进行比较。(使用lower()it的人)这有助于在用户输入时提供很少的灵活性
- 我还认为阅读Python教程可能会对您有所帮助。:)
示例代码
#-*- coding: latin1 -*-
while 1:
date=raw_input("Example: March 21 | What is the date? ")
if date.lower() == "march 21":
....
缩进它第一。这将解决您的语法错误
除此之外,您的程序中还有几个其他问题
- 当您想要接受字符串作为输入时,请使用
raw\u input
input
只接受Python表达式,并对它们执行eval
- 您正在脚本中使用某些8位字符,如
0°
。您可能需要使用通常称为编码cookie的#-*-coding:latin-1-*-
行在脚本顶部定义编码
- 另外,在进行str比较时,请规范化字符串并进行比较。(使用lower()it的人)这有助于在用户输入时提供很少的灵活性
- 我还认为阅读Python教程可能会对您有所帮助。:)
示例代码
#-*- coding: latin1 -*-
while 1:
date=raw_input("Example: March 21 | What is the date? ")
if date.lower() == "march 21":
....
使用raw_input
代替input
:)
如果使用输入
,则
类型被解释为Python
表达式表示您
以gawd结束知道什么类型的
对象,以及
大量的例外情况
这是可以产生的。所以你应该
不使用输入
,除非您正在输入
临时测试的东西
只能由了解某个问题的人使用
关于Python表达式
raw\u input
始终返回字符串
因为,见鬼,你总是这样
输入。。。但是你可以很容易地
将其转换为所需的特定类型
想要,抓住具体的
可能发生的例外情况。有希望地
有了这样的解释,这是一个错误
知道你应该选哪一个是不需要动脑筋的
使用
注意:这仅适用于Python 2。对于Python3,raw\u input()
已变为普通的input()
,Python2input()
已被删除。使用raw\u input
而不是input
:)
如果使用输入
,则
类型被解释为Python
表达式表示您
以gawd结束知道什么类型的
对象,以及
大量的例外情况
这是可以产生的。所以你应该
不使用输入
,除非您正在输入
临时测试的东西
只能由了解某个问题的人使用
关于Python表达式
raw\u input
始终返回字符串
因为,见鬼,你总是这样
输入。。。但是你可以很容易地
将其转换为所需的特定类型
想要,抓住具体的
可能发生的例外情况。有希望地
有了这样的解释,这是一个错误
知道你应该选哪一个是不需要动脑筋的
使用
注意:这仅适用于Python 2。对于Python3,raw_input()
已变为普通的input()
,而Python2input()
已被删除。您可以尝试的是使用normalinput
命令将代码编写为Python的普通代码。然而,诀窍是在编程开始时添加命令input=raw\u input
现在,您所要做的就是禁用(或启用),这取决于您是在Python/IDLE还是在Terminal中运行。您只需在需要时添加“#”
已关闭以在Python/IDLE中使用
#input=raw_input
当然,在终端中使用时会打开
input=raw_input
我不确定它是否会一直工作,但对于简单的程序或脚本来说,这是一个可能的解决方案。您可以尝试使用normalinput
命令将代码编写为python的普通代码。然而,诀窍是在编程开始时添加命令input=raw\u input
现在,您所要做的就是禁用(或启用),这取决于您是在Python/IDLE还是在Terminal中运行。您只需在需要时添加“#”
已关闭以在Python/IDLE中使用
#input=raw_input
当然,在终端中使用时会打开
input=raw_input
我不确定它是否会一直工作,但对于简单的程序或脚本来说,这是一个可能的解决方案。我遇到了同样的问题,我发现了问题所在。当我们使用方法输入时,我们应该键入的响应应该是双引号。就像你的队伍一样
date=input(“例如:3月21日|日期是什么?”)
当控制台提示“12/12/2015”时,您应该键入-注意前后的“
内容。这样,它会将其作为字符串并按预期处理。我不确定这是否是此输入方法的限制-但它是这样工作的
希望有帮助我遇到了同样的事情,我发现
` while 1:
date=input("Example: March 21 | What is the date? ")
if date=="June 21":
sd="23.5° North Latitude
elif date=="March 21" | date=="September 21":
sd="0° Latitude"
elif date=="December 21":
sd="23.5° South Latitude"
elif sd:
print sd `
try :
....
except Exception as e:
....
if sys.version_info < (3, 0):
input = raw_input